Skip to main content

Full text of "Commodore Computer Club 22"

See other formats






Tutti i giochi 
da fare sulla spiaggia 

Simula un computer 
con conchiglie e sassolini 

*4 

La scatola robot 




* ■ ► 


t I 




c 


Mensile - 25 Euglio/25 agosto 19B5 - Anno IV - n 22 -Sped Abb. Post. Gr. W/70CR - Drstr. MePe 
















L, 3.000 



















Un'iniziativa condotta 


la nota rivista Computer 


tlfrMr»!. 14 I StUfl* 


PROGRAMMO IN 
BASIC 


U linguaggio del futuro rrr un 
manuale rapido e completo di 
Clizia Merli 
pagg. 224 (L 9.000) 

Il Basic, attualmente il 
linguaggio più conosciuto - 
adatto all “utilizzo su qualunque 
iipo di macchina e in 
particolare sul personal e gli 
home-computer - può essere 
appreso m poche ore con 
l'ausilio di queste agile 
manuale. 


COME SCEGLIERE UN 
COMPUTER 


Guitte pratica per l'acquisto d- 
un mini o ds un mi ero computer 
professionale di Michele 
D t Pisa 

pagg 160 (L. 6,000) 

Quale modello scegliere tra gli 
olire 600 computer 
commercia libali in Italia? La 
conoscenza delle 
caratteristiche delle vane 
macchine è indispensabile Con 
un approccio a "meno “ 
l'Autore vuol essere guida 
proprio m quesla fase. 


I volumi,, che sono comunque in vendita nelle migliori librerie di tutta 
possono anche essere richiesti direttamente all'Editore. 

Importante: l'ordine minimo dovrà essere di L 15.000 


Albino Cultrora, 
Michel? P: Pisa. franici;* Giacomelli 


DEH,* 
INFORMATICA 


DIZIONARIO 

DELL'INFORMATICA 


Vocabolario Inglese -Iteliimò 


Vocabolario Inglese-Italiano di 
Cultrera , Di Pisa, Giacerne! fi 
pagg 368 fi. 25.000) 

Uno strumento indispensabile 
per chi si avvicina al mondo 
dell 'intorni alice e per gli 
specialisti che hanno l'esigenza 
di accedere alta dinamica 
letteratura anglosassone. 




raMPMEO ' k .* 


UTILITY E ROUTINE 
PER IL 

COMMODORE 64 

di Gloriano Possi 
pagg. 192 fi. 9.000) 

l'esecuzione di una istruzione 
BASIC pud richiedere diverse 
centinaia di passi di programmi 
in linguaggio macchina La 
dim ansio ne dei programmr é 
ciò che intimidisce 
maggiormente l'ufli lizzatole 
medio di Commodore: aiutalo 
da questo testo chiunque potrà 
affrontare senza problemi il 
processo di Scrittura di un 
programma 


BASIC PER LO 
5PECTRUM 

di Maurizio Ariana e Cimo Merli 
pagg 192 (L 9.000 } 

Un libro per quanti hanno 
acquisiate il computer ZX 
Spectrgm della Sinclair e 
Intendono sfruttarne appieno 
tutte le capacità, dall' hardware 
al/a programmazione in 
assembty {linguaggio 
macchina}. 


Edizioni A CANTHUS 


VIALE GRAN SASSO, 23 - 20131 MILANO 


Inviatemi i seguenti volumi- 


ruoto 


quantità 


prezzo unitario 


sj>e£& postala 


2.000 


latale 


Pagherò contrassegno il dovuto {più L, 2.000 per contributo spese postali} al ricevimento 
Potrò restituir© r libri entro 8 giorni se non saranno di mio gradimento e avere rt rimbor- 
so immediato. 


COGNOME 


NOME 

VIA 


C.A.P. 


CITTÀ 


FIRMA 


DATA 


Scrivere in stampatello e spedire in busta chiusa 











12 1 BIGA 


20 PALLOTTOLIERE 
CINESE 

IL COMPUTER 
INTELLIGENTE 

31 PAROLE INCROCIATE 

ESTATE: TEMPO DI QUIZ 


L’Utile 

* 35 Old 

55 II disk drive 1541 • 

Didattica 

4 1 Come reai «zzare un menu • 


Oltre il basic 

47 Monitor LM dei C 1 6 


Rubriche 


SPECIALE 
VACANZ 



Giochi 




50 

Marzio 


* 


60 

Indovinello 

• 



63 

Alfabeto pazzo 

* 

* 

* 

67 

Confucio 



• 

70 

Trifidi 

* 




CATTURA L'AVVENTURA 


Domande/Risposte 

Editoriale 

Le immagini di questo fascicolo 
1 listati della Systems Editoriale 




^ vfi 


ir'* ■ • ^ - 




Direttore; Alessandro- de Simone 

Redazicrtis/tol laboratori; Gtovsmi Beìlù, And>es e Alberto Boriaci, Gianca/lc Castagni. 
Eugenio Coppari. Marco Da Martino, Luca Galluzzo Giancarlo Mariani. Flavio Molinari, 

Enrico Scolla. 0 . Mattono, M.L, Mirti, Massima Patti. Carla Rampi. Fabio Sorgala, Danilo Toma 
Segreteria di r*d*3!k}Tra Maura Gettatoli, Piera Perin 
Ufficio Grafico: Mary BanvonutG, Muro Caglia. Paofco Vfrrìucclo 
D irtelo*», ivdizlont, pubblicità : Vie Famagoste. 75 ^ 20 1 42 Milano - Tot 02/0467348 
Pubblicità: Milano: Micco Croce [cocrdtitatore}. Giuseppe Porzani. Michela Ftsndlni. 

Giorgio Rutto™, Claudio Udore, Via Claude - Segretaria: Lituana Degiorgi 
S Roma: Spazio Nuovo - via, P. Foscari 70 - 0 Q 1 I 39 Roma - Tol. OS/ 18 I 0 & 679 - 
Abbon ameni! ; Marina Ventini 

Tariffe: prezzo por copie L 3-000. Abbonamento annuo (il lasciceli) L Sfl.OOO. Estero-: il doppio 
Abbonamento cumulativo alle riviale Computar a Commwtore GofnpLrterClub L. S5.000 
I versamenti vanno indirizzali a: Systems Editoriale Srl mediante assegno bancario 
o mitizzando il c/e postale n. 37952207 

Coni posili ani: Systems Editoriale Srl Fotolito: Systems Èdiioeais Sri 
Stampa: La Litografica S.r.l. - Busto Arsa io (VA) 

Registrazione: Tribunale di Milano n. 370 del 2/i/B 2- Direttore 'Responsabile: M-cbeio Di Pisa 
Sped. in abo posi, gr 111 - Pubblicità interiore al 70% 

Distribuzione: MePe. via G- Carpano 32 - Miiano- 


‘ W ' 


J • 


-- 





Domande Risposte 

DOJNV14DE KI2 b08LE 


Commodore 64, 

Commodore 128 & CP/M 

□ Uhe cosa é il sistema operativa dei Commo- 
dore 64 e, in particolare, che cosa è H sistema 
operativo CP/M e come io si pud utilizzare, 
inserendo l'apposita scheda, col Commodore 

M? (Francesco Bedittì - Firenze) 

* La tua domanda capita a fagiolo, data la 
prese ni a/io nc dei nuovi modelli C\ ammodo- 
re. e ti ringraziamo per averci dato lo spunto 
per parlarne. Cercheremo di essere brevi, ma 
chiari. Pot Sistema Operativo (S,0 ) si inten- 
de quel particolare complesso di istruzioni e 
comandi in linguaggio macchina (L.M.) che 
consentono al calcolatore di eseguire pro- 
grammi in vari linguaggi (come il Basic), rou 
ti ne di memori dazione, output su Mampantc, 
collegamenti con modem, periferiche varie 
eccetera. 

Ogni computer ha il proprio sistema ope ra- 
ti vo che. molto spesso, è incompatibile con 
altre marche o, addirittura, con modelli della 
stessa casa. 

Ciò vuol dire che quel particolare gruppo di 
istruzioni ha un significalo ben preciso solo 
per quel modello e non per altri. 

Quasi sempre, però, il S O, è. come si dice 
in gergo, 'trasparente", vale a dire che l’uten- 
te finale può non accorgersi minimamente che 
è in funzione un particolare sistema operativo 
e molti lettori, come te. non sanno neppure 
che esiste! 

In altre parole, se ti trovi davanti un com- 
puter che '“parta" Basic (e non sai altro di lui] 
r istruzione PRINTPIPPO” produrrà lo 
stesso effetto sia che il computer sia un Vìe 20. 
oppure uno Speci rum oppure un Olivetti o un 
qualsiasi altro computer che parli il Basic. 

C iò significa che il linguaggio Basic È 'gui- 
dato'’ dal sistema operativo del calcolatore 
che, nel complesso, provvede a produrre lo 
stesso effetto nei vari computer. 

Chi si ri lo che una cosa £r il linguaggio e ben 
altra c il S.O.. c’d da dire che il sistema opera- 
tivo cambia profondamente a seconda del mi- 
croprocessore ( = cervello) adoperato sul 
computer in oggetto. 

ì computer C ommodore utilizzano i micio 
6502. da cui deriva il 65111 del C-64,, che gesti- 
scono t dati secondo una particolare 
“architettura". 

Ufi altro grande microprocessore é il famo- 
so Z-81K col quale è possibile strutturare 
un arch ile t tura diversa 

Quando si realizzò lo Z-80. una equipe di 
tecnici, sfruttando e ottimizzando le interes- 
sami caratteristiche di tale miero. idearono un 
sistema ottimizzato di organizzazione di dati e 


memoria che prese il nome di CP/M (Control 
Program?; for Mierocomputers). Molte case 
cosi rut t ri ci d i com p uter s i gè 1 1 a ro no a capofit - 
to col CP/M ed il risultato è che oggigiorno è 
disponibile una biblioteca di programmi in- 
credibilmente vtistEi grazie alla compatibilità 
di macchine che. pur diverse tra loro, possono 
comunicare proprio in quanto posseggono lo 
stesso sistema operativo. 

Qualche tempo dopo si realizzò il micio 
65£)2, che non ebbe lo stessi] successo dello 
Z-HU. ina consentì di produrre piccoli compu- 
ter a basso costo, ira questi figurarono i 
Commodore, gli Apple, gli Atari e tanti altri. 
Purtroppo ognuno di questi, pur possedendo 
l'identico miero, avevano diversi sistemi ope- 
rativi e l'incompatibilità presentò subito il 
vantaggio della separazione delle sfere com- 
merciali,. ma bloccò, di fatto, il “decollo" del 
6502 in modo da opporre una seria barriera 
concorrenziale a! CP/M, 

In questi ultimi tempi un nuovo micropro- 
cessore. il 68000 delia Motorola, sta prenden- 
do piede soprattutto dopo le positive espe- 
rienze con l"S0£8, che deve essere considerato 
il “vero" precursore dell'MS/DQS, e renderà 
tra breve (pettegolezzi di portineria) obsoleto 
qualsiasi altro sistema, CP/M compreso. Il 
68000. in effetti, consente un ‘archi Lettura po- 
tente. versatile e veloce che è sfruttaci dal 
nuovo astro; l'M S/DOS. 

Riassumendo: oggi, 1985. sono disponibili 
due veri grandi sistemi operativi; 

CP/M, vecchio ma che vanta una straordi- 
naria biblioteca di programmi soprattutto per 
le aziende; 

MS/DOS, il sistema operativo del futuro 
che però, data la giovane età, non dispone di 
programmi che sfruttino in pieno le notevoli 
potenzialità del nuovo 68000, 

Oltre ai due prima citati vi sono i vari siste- 
mi Commodore. Apple, eccetera, incompati- 
bili tra loro ma pur dotati di una grande bi- 
blioteca soprattutto destinata alla casa, ai gio- 
vani, alle piccole e piccolissime aziende. 

Poiché non è facilmente possibile “simula- 
re" coli 6502 il miero Z-80, ecco che si rende 
necessaria una scheda elettronica aggiuntiva 
che, di fatto, esclude il 6502 sostituendolo con 
lo Z-$0. presente sulla stessa scheda. In prati- 
ca ciò che rimane del 64 ù la tastiera e la 
memoria RAM che viene ora gestita dal nuo- 
vo microprocessore ospite. 

La scheda CP/M da col lega re col C-64 non 
sembra aver goduto molto successo a e a usa di 
alcune presunte incompatibilità inevitabili 
per mancanza di accordi sullo sfruttamento 
del brevetto. Con l'esplosione del fenomeno 
MS/DOS e con l’esigenza di restare sulla cre- 
sta dell'onda, la Commodore ha avuto una 


bella “pensala" ed ha telefonato alla Digital 
(che detiene il brevetto CP/M) dicendo piu o 
munii così : 

"Il CP/M tra un pò cola a picco e le pretese 
di royalty del vostro brevetto devono essere 
ridimensionate. Se voi ci date il CP/M a basso 
costo, noi. col nome Commodore, contribuia- 
mo ei tenere in vita il vostro sistema c avete il 
tempo per realizzare qualcosa d altro. Noi. 
viceversa, non siamo costretti ad abbandona- 
re Te norme esperienza accumulata coti mi- 
croprocessori a soli otto bit e presentiamo un 
apparecchio a basso costo abbastanza 
innovativo". 

Probabilmente, dall’altro capo del filo, 
hanno risposto, forse a denti stretti, “ocdiei" 
ed il risultato ù un apparecchio ( il Commodo- 
re 128) che, in effetti, é una fusione di tre 
computer mi di una stessa piastra; 

a/ Commodore 64. identico in tutto e per 
rutto al C-64 che si trova in commercio. 

h/ Commodore 128, il nuovo apparecchio 
che dispone di potenti comandi Basic e di 
I28K di RAM iunC’64 PLUS-PLUS!) 

c/ CP/M che consente di accedere alfi ni- 
ni e nsa biblioteca disponibile sul nostro 
pianeta. 

Ogni sezione elettronica ha il proprio mi- 
ero: 6502 per Ea sezione C-64, 8502 per il 
C-128 e Z-fifl per il CP/M. 

Oltre a questi cervelli sono presenti altri 
chip particolari che consentono, soprattutto, 
h selezione della parte elettronica che 
interessa. 

Il risultato di tutto questo è che, grazie al 
C- 12H. clic d auguriamo di vedere al prossimo 
SMAU anche in Italia, la Commodore rende- 
rà disponibile, con il classico uovo di Colom- 
bo, un modello che elimina con un sol colpo il 
problema della incompatibilità col modello 
precedente (C-64) e coi S O, attualmente più 
utilizzato (CP/M). 

Mettendo, nello stesso contenitore ben tre 
computer al prezzo di uno solo di essi, il suc- 
cesso di vendite non potrà che essere 
brillarne. 



Incompatibilità col furbo- tape 

□ Usando il programma Turbo-tape, alloca- 
to, come è noto, nella parte "alta" della me- 
moria, si crea incompatibilità con altri pro- 
grammi, specie in Linguaggio Macchina (es. 
mutine grafiche dì Toma), poiché occupano fe 
stesse locazioni di memoria, C f è un modo per 
"spostare" il Turbo-tape in altra zona di me- 
moria? (Enzo Filippi - Alhiano-TN) 


4 - Commodore Computer Club 



• Spostare un programma in Linguaggio 
Macchina, quale il Turbo-tape, ù possibile, 
ma richiede un notevole studio degli indiriz- 
zamenti assoluti ed un'attenta analisi detta 
me morizzazione di variabili di comodo. 

Spieghiamoci meglio. 

Supponiamo che il programma in L.M. sia 
memorizzato dalla locazione 50000 alla 52000 
e che lo ri al lochiamo, con una semplice routi- 
ne, dalla locazione 40000 alta 42000. 

Supponiamo anche che consenta al suo in- 
terno un istruzione del tipo: 

STA * 51900 

Questa istruzione, come è noto, deposita il 
contenuto del l’accumulatore nella locazione 
decimale S 1900. Un puro e semplice “trasferi- 
mento" del programma a partire, come già 
detto, dalla locazione 40000. non modifica 
1 indirizzo assoluto dell'Istruzione con la con- 
seguenza che il programma, benché “rialloca- 
io" in altra zona di memoria* continuerà a 
trascrivere il dato contenuto nell accumulato- 
re nella locazione 51900. alterando una zona 
di memoria a torto ritenuta libera dopo l'ope- 
razione di trasferimento. 

In altre parole, chi desidera effettuare rial- 
locazioni deve disassembtarc la routine tn 
L.M, ed esaminare (ovviamente modifican- 
dole) tutte le istruzioni con indirizzo assoluto, 
quelle indicizzate, rintracciare eventuali ta- 
belle di messaggi e... sperare che le modifiche 
apportate siano quelle giuste e idonee! 


La riga 100 scrive un messaggio al quale si 
deve rispondere premendo il tasto "S " oppu- 
re “N" 

La HO attende che venga premuto un tasto. 

La riga 120 esamina se il tasto premuto é 
una "S". In questo caso va ad eseguire il 
sottoprogramma (GOSUB) che inizia alla ri- 
ga 10100 (N.B, dopo la fine del gioco vero e 
proprio). 

Dalla riga 200 alla 10000, come abbiamo 
ipotizzato, è presente il tuo gioco che non è 
necessario modificare in alcun modo. 

Alta riga 10100 inizia il sottoprogramma, 
richiamato dalla riga 120 se hai premuto “S + \ 
che non £ altro che un gruppo di istruzioni dì 
FR1NT che hanno il compito di visualizzare le 
regole del gioco, 

L'ultima riga del sottoprogramma deve es- 
sere costituita dall 1 istruzione RETURN che 
comunica al calcolatore l'ordine dì ritorna- 
re,,. da dove era venuto (riga 120) e di ripren- 
dere il programma dall'istruzione Recessiva al 
GOSUB. 

Ma l’istruzione successiva é costituita pro- 
prio dall'inizio del gioco vero e proprio che. 
appunto, parte immediatamente al termine 
della visualizzazione delle regole del gioco. 





V w 
\f*y 


Vuoi le istruzioni? 

Come posso fare affinché, prima deirintzio 
dì un gioco, vengano scritte le regole dello 
stesso? (Dario Gabrielli - Codone ghe - PD) 

* Supponiamo, per semplificare le cose, che 
il gioco vero e proprio inizi alla riga Basic 200 
e termini alla 10000. 

Aggiungi le seguenti linee 
100 PRINT'VLJQI LE ISTRUZIONI? (S/ 
N) M 

lìti GETAS:IFAST THEN 110 

120 IF AJ=“S” THEN GOSUB 10100 
200 REM QUI INIZIA IL GIOCO 




Strani codici 

□ Ho scoperto casual mente un n uovo si mbofa 
che si riscontra sia sul C-64 che sul Vie 20 e 
C-ló- Esso si ut tiene, dòpo aver aperto le vir- 
golette, premendo l tasti CTRL e quello di 
freccia a sinistra. 11 risultatele una F in campo 
inverso. A che cosa serve? (Luca Monticelli - 
Milano) 

* À niente! Col tasto CTRL t possibile, al- 
tresì, riprodurre altri simboli che generano 
effetti vari e già noti come quelli del controllo 
cursore. Tra l'altro, ti ricordo che col tasto 
"N” (che genera, appunto, una "N” in campo 
inverso) t possibile passare al modo maiusco- 
lo minuscolo. Simula, in altre parole, il 
comando: 

PRINT CHR$(14) 


7^-, 

X 


7^ 


10000 REM QUI TERMINA IL TUO 
GIOCO 

1011)0 PRJNTTL GIOCO CONSISTE 

NEL** 

10110 PRINT DISPORRE LE CARTE 
DA" 

10120 PRlNT“GIOCO IN MODO CHE 1 ' 
.....(eccetera)..... 

11000 RETURN 


Sonoro che non suona 

f ] C urne powo controllare se il chip sonoro d el 
mio computer è guasto dato che non riesco a 
fargli emetterli alcun suono? (Baldassarre Pi 
Silvestre - Gela ) 

# Abbiamo piu volte detto che per controlla- 
re la funzionalità delta parte sonora di un 
computer è sufficiente digitare una delle dcci j 
nc di routine sonore pubblicale e, durante il 


NEW SUFTul 

Accessori pur Compulsi 

Via Carbone, 0 -Tel, 01 87/674097 
19033 Castelnuovo Magra (SP) 

Nastri per stampante 


Prezzo 


Commodore MPS SOI 

11.000 

Commodore MPS 80.2, 

XSlIy 80 Miirivirrpsiimurrniirfiiifrsiil-rtriiptii 

12.000 

Commodore MPS 803 

14.500 

Commodore 8024 

... 5,100 

Epson MX7Q,B0.82.83,ERC 04. 

FX0O, Rxeo, fxbo, 

Commodore 402 2, 

8022, IBM P/C. Sharp 

CÉ332P, MZ S0P5A, PC3201 .... 

.. 0 200 

Commodoro 3022, 3023, 

Epson TXBO, 1 toh 8300R. 

OKI 80, 82A, 03 A, 92, 93, 

Sharp P3 

3.000 

Epson MX1QQ 

., 9 900 

Commodore 8023P. MPP 1361 
Sharp B0P4A. Centronics 1 50 

... 8 950 

Commodore 0026, 

8027, 8032 

„ 6.950 

Dischetti SF/DD x 10 

(con box trasparente) 

38.000 

Dischetti DF/DD x 10 

(con box trasparente) 

43,000 

Disco per pulizia delta testine. 
Questo pub essere usato per 
drive con una o due facce- 
li liquido basta per circa 

15 applicazioni 

12.200 





. ■- — 

Usale la seconda faccia del 

WS Mini disco. Tagliata a metà il costo dai 
Dischetti! Foratore di Dischetti per usare 
anche l'altra faccia del disco, 

Per esempio Commodore 20/64, 

Apple 4. Atari, eco. a sole 1 2.700 

Tutti i prezzi sono IVA Inclusa 

Pagamento coni rassegno. Per ordini suporiori a 
L. 50.000 spase postali a nostro canee, 


SPECIALI SCONTI A TUTTI 
i RIVENDITORI 


Commodore Computer Club - 5 




loro funzionamento, sintonizzare con calma if 
televisore con cui si è collegati. Se non si sente 
nulla i casi sono due: o il televisore è incompa- 
libile col computer (può succedere) oppure il 
computerà guasto, 

Co! tuo Commodore 64 prova a far girare il 
programma che segue e che genera impulsi 
sonori continui: 

100 POKE 54296, 15: POSE 
54276,17 

110 POKE 54277,3: POKE 5 
4273,0 

120 POKE 54276, 17 :POKE 
54273,40 

130 POKE 54272,38 

140 FOR 1 = 1 TO 100 s NEXT 

150 GOTO 100 



V-"" 


Danni di pa&sa£gìo da Vie 20 a C-64 

□ Cosa può succedere e quali danni possono 
accadere se digito un programma scrìtto' per LI 
Vk 20 nel Commodore 64 e viceversa? (An- 
drea Armargli - Bologna) 

m Assolutamente nulla di dannoso può acca- 
dere nei casi citati: al massimo il programma 
funziona male o provoca un '‘inchiodamento" 
della macchina In quasto caso l’unico danno 
che ne deriva è quello relativo alla perdita del 
tempo impiegato per iscrivere il listato! 



Simulazione, su Vie, del C-64 

~ ! E 1 possibile ottenere col Vìe 20, una mappa 
di memoria dello schermii come quella del C- 

*4? (Davide M aizza) 

* Lo schermo del Vie 20 t formato da 22 
colonne e 23 righe mentre quello del Comma 
dorè 64 da 25 e 40 colonne. 

Il circuito integrato video del Vie è fallo in 
modo da gestire la zona di memoria dedicata 
alto schermo tenendo conto del formato cita- 
to. Non è quindi possibile modificare le di- 
mensioni dello schermo del Vie in modo da 
portarlo alia grandezza del C-64, 

Vi sono stati, nel passato, tentativi di com- 
mercia] i/./a re schede elettroniche che consen- 
tissero tali trasformazioni ma, a parte la pessi- 
ma visualizzazione dei caratteri, avevano un 
costo pari a quello del computer stesso. E 1 
ovvio che l'acquirente preferiva, fatti i debiti 
contri acquistare direttamente un Commodo- 
re 64 che dava, tra l’altro, numerosi altri intui- 
bili vantaggi. 



Il LISP 

□ Esiste il LISE per il Commodore 64? (Gian 
Franco Querciagrossa - Forti) t 

m Col Commodore 64 è possibile, almeno m 
teoria, implementare quasi tutti t linguaggi e 
sistemi operativi (compreso il CPfM grazie ad 
uilEs scheda aggiuntiva). Non conosciamo, tut- 
tavia» se sia disponibile anche il Lisp. Rivol- 
giamo pertanto la tua domanda ad eventuali 
Dille che commercializzano tale prodotto. 



I programmi gestionali 

O Gradirei vedere pubblicati programmi ge- 
.stilinoli, (Sauro Gregnanin - Rovigo) 

* Purtroppo il numero di richieste in tal senso 
è troppo modesto per giustificare la pubhli ta- 
stone di programmi gestionali. Articoli e lista- 
ti di semplici routine finanziarie, al contrario, 
sono stati c saranno presi in considerazione 
per soddisfare sia gli studenti di ragioneria, 
sia coloro che. magari per semplice curiosità 
ed aggiornamento personale, intendono co- 
noscere problematiche finanziarie. 

Argomenti particolari n comunque com- 
plessi, verranno affrontati sull'altra nostra ri- 
vista, COMMODORE, destinata, appunto, 
agli utenti professionisti o “evoluii " . 



C-64 come Vu-Meter 


D Varrei sapere se l'entrata Audio del C-64 c 
collegabile ad una sorgente sonora ud esempio 
un amplificatore stereo! per ottenere disegni 
sul video, la cui esecuzione dipende dal segnale 
immessa fVU metti ecc,). Se cioè ottenìbile, 
quali sona le locazioni di memoria per attivar- 
lo? (Marco Lucenti - Vittorio Veneto) 

« L’entrata audio del C-64 è collegata, trami- 
te condensatore, direttamente ad un piedino 
del circuito integrato SID (6581) che gestisce 
il suono del computer. Il collegamento sud- 
detto serve per creare effetti sonori speciali 
immettendo nel computer un'onda in grado di 
alterare il funzionamento stesso del SID, 

La costruzione di un apparecchio in grado 
di svolgere la funzione di interfaccia tra com- 


puter e apparecchio esterno è possibile ma, 
come puoi intuire, richiede conoscenze di 
elettronica non indifferenti (digit al b_z azione 
di un segnale analogico) ed esperienza di pro- 
grammazione in Linguaggio Macchina data 
l’alta velocità di risposta necessaria. 

In conclusione, un analizzatore di spettro, 
o un più modesto VU-Meter t richiede un ana- 
lisi di programmazione c la realizzazione di 
una serie di prototipi tra cui scegliere il più. 
idoneo. 





Problemi di sintonìa 

Il mio C-64, connesso col televisore, pre- 
senta righe trasversali fastidiose. Che cosa 
posso fare? (Giuseppe Pini - Firenze) 

m I casi sono due: il televisore che adoperi 
"slitta ” in frequenza a causa della sua vetustà. 
Prova a collegare il computer con un apparec- 
chio più recente e verifica che tulio funzioni a 
dovere. 

Se il difetto persiste è probabile che il C-64 
prevenga dal mercato inglese oppure che ab- 
bia perso l'allineamento. In questo caso devi 
inviare il calcolatore per la necessaria 
taratura. 



Il Turbo non va su di giri 

FI programma Turbo tape, inserito nelle 
ca.ssetle della rivista Commodore Club, non 
gira col mio Vk 20. Come mai? (Tiziano Col- 
letti - Alhenga) 

* il Turbo tape è stato progettalo per il Com- 
modore 64 e, di conseguenza, non può essere 
adoperato sugli altri computer della Commo- 
dore. Ciò è dovuto al fatto che la cosidetta 
■ gestione" della memoria c di numerose rou- 
tine dei due computer sono piuttosto diverse 
tra foro 





C-64 americano 

D Purtroppo non sapevo che un computer 
acquistalo in America non può funzionare in 
Italia ed ora mi trovo un apparecchio inutiliz- 
zabile C’è qualcuno disposto ad effettuare le 
necessarie modifiche elettroniche? (Claudio 
Padda ■ Firenze } 

* C’è qualche centro di riparazioni in grado 
di effettuare tali interventi? Fatecelo sapere, 
per favore. Molti sono gli utenti che, come il 
signor Fadda, sì trovano involontaria mente in 
difficoltà. 

Alessandra de Simon* 1 


6 - Commodore Computer Club 







COMPUTERTELEFONA 

I TUOI 

PROGRAMMI 


CX-21 EPSON è un accessorio che dà un valore enorme al tuo calcolato- 
re, quello dei terminali telecomunicazione. 

CX-21 è un modem costruito con le tecnologie più avanzate, (modulato- 
re - demodulatore) capace di convertire i segnali digitali in suoni che pos- 
sono essere trasmessi con un normale telefono, in tutta sicurezza. 


Con CX-21 puoi: 

- "telefonare" i programmi direttamente al computer dei tuoi amici che pos- 
seggono un CX-21 

- comunicale con personal computer di altre marche 

- collegarti con le banche dati di tutto il mondo / 

CX-21 è progettato per adattarsi ai diversi apparecchi telefonia / 

per consentire lo scambio veloce e facile di programmi e dati, / J 

CX- 2 1 è costruito con spe dall circuì ti i nìegr ah CMOS , è pie- * i ta Hp 

colo, leggero e molto affidabile. JghwS?-,, I 


?os- y *0 

// 

4 * 


Caratteristiche 

- Funzionamento a batterie ncancabih 
(4 ore di autonomia) 

- Funzionamento duplex o half duplex 

- Velocità di trasmissione fino a 300 bit-sec, 

- Interfaccia RS 232 

- Dimensioni 297x95x42 mm 4 

- Peso 700 gr, * 

Inoltre CX-23 può essere collegato a qualsiasi home o > a 
personal computer tramite interf accia RS 232 - G * 

/a® 


EPSON CX-21, 
il tuo computer in un 
mondo senza confini 


EPSON CX 

Accoppiatore acusti 






LY± a\t\ sono ormai gli utenti che porta- indovinelli dei prog 
no con se le proprie apparecchiature nei riga, ed altre cosett 
luoghi di villeggiatura. alcune delle pagine e 

Si può trascórrere una giornata non leggere con tranquill 
proprio assolata, infatti, in compagnia di ne o seduti in pineta 
nuovi amici davanti allo schermo con un Agli a j tr j ar gomc 
joystick in mano o un problema di stac’ penseremo più in là. 


Alessandro de Simon* 


EDITORIALE 






















Le immagini di questo fascicolo 



Il rima di entrare negli studios della 
Walt Disney Corpo rarions, Fattore Jeff 
Bridges aveva l'abitudine di passare al- 
meno un'ora davanti ai video game dì 
casa sua. Obiettivo: entrare nello stato 
d’animo adatto a interpretare la sua par- 
te. Un training psicologico comprensìbi- 
le: protagonista in tron, ieff si trovava 
ogni giorno alle prese con colleghi ingag- 
giati nel ruolo di software e diaboliche 
ROM, tra bit amichevoli e ruscelli dì 
energia, infine condannato a morte al- 
l'interno di un videogame. 


Per realizzare la futuristica avventura 
del programmatore che entra nel compu- 
ter, alla Watt Disney sono state mobilita- 
te tutte le più sofisticate tecnologie elet- 
troniche (del mondo reale). Uscito sugli 
schermi a fine I9R2, Tron rappresenta 
ancora adesso la più originale e sofistica- 
ta opera nella storia della cinematografia 
mondiale. 


TRON 


Group Ine. (Magi), Information Interna- 
tional Ine, (Triple I), Robert Abet & 
Associates, Digital Effects. Per la mag- 
gior parte del tempo al lavoro su un set 
disadorno, con fondali neutri, le scene 
sono poi tutte passate attraverso i com- 
puter di queste aziende, con una post- 
produzione durata più dì un anno. 

Alla Magi di New York, i calcoli ne- 
cessari per ogni fotogrammi di film erano 
affidati a un sistema 3240 della Perkin 
Elmer (due Mbyte dì memoria MOS e 
due drive da 80 Mbyte) interfaedato con 
un computer Celco CFR 4000, usato per 
generare su monitor le immagini. 

Alla Triple I, main computer era un 
Foonley FI, le figure erano affidate a un 
registratore PER, mentre i programma- 
tori usavano una tavola grafica da 40 per 
60 pollici (un metro per un metro e mez- 
zo), Quattro sistemi Hewlett Packard 
9826 calcolavano il tempo di esposizione 
di ogni fotogramma, mentre unCinetron 
1100 B muoveva la telecamera. 

Alla Walt Disney, un sistema Univac 
98/80 indicava dove ogni fotogramma si 
trovava nelle SO fasi del processo di pro- 
duzione, dal layout al negativo. E il col- 
legamento via terminale tra le aziende 
estere e la Walt Disney permetteva un 
risparmio di tempo per correzioni e ag- 
giustamenti calcolabile tra i due e i cin- 
que giorni pieni. Per farsi un’idea della 
mole di informazioni contenute in ogni 
scena, basta pensare che per ogni scena 
erano necessari dai 5 ai 75 milioni di cal- 
coli, e che per formare un minuto di film 
ci volevano 1240 fotogrammi. 

Moltiplicate, gente, moltiplicate. E p 
per cominciare, gustatevi il risultato del- 
l’opera nelle immagini pubblicitarie in 


Per ricostruire il mondo elettronico, la 
Walt Disney si è affidata a quattro tra le 
più importanti aziende di computer 
graphic: Mathematic Applications 


questo numero di Commodore Compu- 
ter Club, per gentile concessione della 
Walt Disney Corporation. 









Utile accessorio per lare copie trarre ir» reqislraiore commc 
dorè e un .■■eai3lraJo r e nomale Oi nasini protetti o con carica- 
mento tu ito 


Art. CD 102 


Lr 30 


DUPLICATORE PROGRAMMI 



SV liner- IO InCrSpenKlO'le per la perfetta r&flOlaa-iÙftO dell 'AZI- 
MUT nei fegislralori Commodore o compatìbili 


Art. CD 105 


L, 47. 


KIT ALLINEAMENTO TESTINE 


BATTERIA TAMPONE ANTI BLAK-OUT 



ACCESSORI 
PER COMPUTER 
COMMODORE 


INTERFACCIA RICEZIONE RADIO 


COPIATORE PROGRAMMI 




in dispensa Di e aceesso'ic per lare una copia ira mite due regi- 
stratori commettere, nastri protem o cor canea mento iurte 


Art. CD 103 


L r 30. (KK 



ELETTRONICA 


Via Don Pasquino Borghi, 13 
42017 NOVELLALA (Reggio E.) 


Ccnleratofe baitela tampone 
ariti BLAK-OUT 

Art CD 117 

L 25.000 

interfaccia regisiraior* 

Ari COIOÌ 

L 30.000 

Gommu latore Tv 
arnennai'compjter 

Ari. CD 100 

L. 9 .&O0 

Ta&IO RESET pér VÌC20&C64 

Art CD 1ffl9 

L 5.500 

Cavo per TV con Ingresso 
monitor 

Ari CD 1 10 

L. 19.000 

Ccprilastierà >r plexiglas 

Art. CD 750 

L. t&.OOO 

Cojprliastiera ir» stoffa 

Ari. CD 755 

L. 10,500 

Borsa perii asporto C 54 
e PEGlSTR 

Art. CD 760 

L. 29.000 

Vaschetta per 90 floppy D 
cor chiave 

Art. CD 700 

L. 45.000 

Vaschetta per 40 floppy D 
con chiave 

Art CD 770 

L 35.000 

Tavola grafica SUPER SKETCH 
per C 64 

Art co m 

L. 240. 000 

Coni. 1 0 dischetti ODP 1 F 2D 

Art CD 700 

L. 15.000 

Goni i d dischetti K E V-0 AIA 

F2D 

Ari CD 710 

L- 40-000 

Coni. 10 deschetti COLORATI 
iFlD 

Alt. CD 730 

L. 45.000 

Con- 1 10 dìscheiti 

HOBBY -FLOPPY 1 F 1 D 

Ari. CD 720 

L. 2&.500 



(nttefsnsabJe pei registrare su registrato** Commodore i pro- 
grammi sceciah pe-' cc-movier trasmessi dalle eminemi rado 


Art. CO 104 


L. 30.000 


ALIMENTATORE 



Urlila, di alimenta i ione per C 64 e VIG 20 compitelo di mlerrultor e 
por [litro di rete è scporeSsore di pmetviC&iìtrQ i disM&i editrici. 
Predisposto per ballerie rampone anN BLAK-QllT l Art CD I07 i 


Art- CO 106 


Lr 07rOOC 


BUS A QUATTRO SLOT PER VIC 20 



Consente il mantenimento dei deli in memora ne< computer in 
assenza di corrente e eltr ca ce T circa 30 minuti (da abbinerò e 
alimentatore Art. CD 10&] Fom-bile anche senza batterie 
Art CO 1171 


Art. CO 107 


L. 85.000 


TUTTI I PREZZI SONO COMPRENSIVI DI IVA 
NON SI ACCETTANO ORDINI INFERIORI A L 30.000 
CONTRIBUTO RSSO SPESE DI SPEDIZIONE L 5.000 


Amplia la pcsalùlna delia porta di espansione imo a 4 ingressi 
sètotonabdi d cui uno ndmzzabile nel' area d memoria TOM 
completo di tasio RESET 


Art. CD'l 


m 


L. 55.000 






BUONO DI ORDINAZIONE 


VOGLIATE INVIARMI IN CONTRASSEGNO 


NOME ■ COGNOME 


INDIRIZZO 


L 


N 


J 


CAP 


OTTA 


J L 


PROVINCIA 

I I 


N. 

Art, 

L. 

N. 

Art. 

L. 

N, 

Art 

L 

SPESE SPEDIZIONE 

L. 5.000 

! j 

PAGHERÒ AL POSTINO 

L. 


COMPUTER SERVICE VIA A. MANZONI, 49 - 42017 NOVELLARA (RE) - TEL. (0522) 661647 


74 - Commodore Computer Club 











Abitualmente ad ogni breve listato di 
questa rubrica, è abbinato 11 testo corri- 
spondente. In questa occasione abbiamo 
deciso di incentivare Y interesse di voi let- 
tori,. apportando una significativa modi- 
fica, in ogni pagina sono poste da un lato 
le piccole routine e dall'altro i rispettivi 
testi messi in ordine sparso. 

Starà a voi individuare i giusti accosta- 

■ 

mentì tra listati e relativi testi, 

Questa operazione metterà a dura 
prova le vostre capacità di analisi di un 
programma e non sarà obbligatorio av- 
valersi di un computer per ultimare que- 
sta operazione. Se siete sotto un ombrel- 
lone o nella pace della montagna, muniti 
solamente della vostra rivista e di un 
blocco per appunti, potrete cimentarvi 
con questa simpatica sfida che vi 
proponiamo. 

Lo spirito che anima la rivista Commo- 
dore Computer Club di questo m ese, è la 
sua possibilità di utilizzo anche a prescin- 
dere dalla presenza della tastiera di un 
calcolatore. 




Questo mese la rubrica una riga si propo- 
ne in una veste prettamente estiva, 





Ciao. Una semplice e simpatica routine, 
che vi saluterà facendo ricorso al lin- 
guaggio macchina. (La redazione) 



n 


Ta bellina. 

Questo 

programma simula 

una normale tabeilina pitagorica. 

( Ferrer) 




n 

3 


Miniscarabeo. Questo gioco necessi- 
ta di almeno due concorrenti. Uno dei 
due dovrà fornire, quando gii verrà ri- 
chiesto, una parola di suo gradimento. 
Ultimata questa operazione, Paltro par- 
tecipante al gioco vedrà visualizzate le 
tre prime lettere di questo vocabolo e in 
base a queste cercherà di indovinarlo, 
( Cutoio ) 


SI mi sordamente. Questa routine gè- 

nera una sinusoide costituita unicamen- 
te da asterischi, (Cosartela) 

U S 

Cursore mugico. Potrete ottenere de- 
gli effetti magici tramite il cursore, 
( Cosartela) 

** e 

Messaggi- Questa routine visualizzi: 
tutti i messaggi del linguaggio BASIC. 
i Cas urte Ili) 

n 7* 

Scacchiera, Questo breve programma 
creerà una scacchiera sul vìdeo del vo- 
stro Commodore. (La redazione) 


Scalini. A cosa può servire un genera 
tare di scalini? Probabilmente a nulla, 
però è simpatico da ossevarsi. (La 
redazione) 

** 3 

C ritto/scritto. Dovete fornire un nu- 
mero compreso tra le IO e poi la parola 

o la frase da crittografo re. 

Se poi vorrete decodificare la frase 
precedentemente introdotta, fornite il 
medesimo numero, ma con il segno ne- 
gativo, (La redazione) 

t* 1 0 

Cambia colore. Questa routine in lin- 
guaggio macchina farà mutare rapida- 
mente i colori del bordo de! Commodore 
64. ( La redazione) 


^ INPUT As INPUT A$:FQR X*ì TQ LE 
N<A$) ;PRINTCHR$( < ASC CMID* ( X 
, t ) } +A ) AND £55 ) ; - NEXT 

E3 

1 DIM FK10,I0)!FOR 1=1 IO 10iFOR 
J = I TO 10: A< I ,J ) = I *J SPRINTACI 
,J)? iNEXTJsPRINTiNEXTI 


1 PRINTCHR*C14)+CHR*( 14?) iFQR A= 
41118 TO 4 1787 :5=PE£K(A) : FRI NT 
CHR*<S ) .« :NEKT 

□ 

1 FOR T = 1 TO 360 STEP 28:L=SIN<T 
Sii/ 188 >*10+20: PR INT TAB(L) : 
NEXT: GOTO 1 


1 FOR T= 1 TO 4 : READ S:PRINTCHR*t 
S) SPRINT" tCLEARJ" : NEXT: RESTORE 
:GOTO 1 : DATA 17£, 187, 190, 188 


1 INPUT " PAROLA "? A* ! PR INT "CCLEAR 
]" :PRINTLEFT*<A*,3>: IKFUT B*: I 
F A*=B* THEN PR INT" OK " : GOTO 1 

0 

1 PR INT 1 * CRVS ) ’■ JiPOKE 646 , <A AN 
D l ) + ( CTI/3E3 ) ANO 15>:B=B+ 
I+40#<B=33) s A=A + 1 + ( B=33 > * GOTO 
t 

H 

1 A = < <N OR 3>/4) ANO HPRINTMI 
□*< "tRIGHTHDOWNI " ,A + 1 , 1 >CHR$( 
175-5#A) ” [LEFT1 " ; :POKE 646, REE 
K < IS 1 ) : N=N+ 1 ! GOTO 1 

1 

1 PRINT TAB<£> "CIAO") : POKE 300, E 
38 : POKE 901,3£:POKE 302,£0S:PO 
KE 903 , 96 1 SYS90B : GOTO 1 

*J 

i POKE 49 15£ ,£38:P0KE 49153,32 :P 
OKE 49 154 ,208: POKE 49155,76iP0 
KE 49156,0: POKE 49 157 , 19£ì SYS4 
9152 



Commodore Computer Club - 13 




i 


** li 


Reversc* Tramite questa routine, po- 
trete porre in reverse lo schermo de] 
vostro video, (La redazione) 


n 1 e 


Traccia circonferenze* Non è proprio 
Giotto, ma pensando che il tuo computer 
riesce a fare ciò con solo una riga di 
programma, ogni imperfezione è scusa- 
ta. (Francesco Sera) 


** 1 ^ 

Capovolgi* Questa routine invene una 
stringa tornita in input dal Putente, (La 
redazione ) 


n 15 


Variabili, Questa breve routine si può 
rivelare utilissima, ponendola al termine 
di un programma da voi utilizzato, vi se- 
gnalerà tutte le variabili utilizzate. (La 
redazione) 


** 17 


Coriandoli* Una cascata di coriandoli 
sullo schenngìdel tuo computer. (La 
redazione) 


*+ le 


Stampa casuale* Mediante l'istruzio- 
ne RND, contenuta in questa breve rou- 
tine, potrete stampare dei caratteri in 
maniera casuale. (Bernardo NucceUi) 




*t 13 

** 13 

1 & 

- ai ~ . , cursore* rotmt decidere la velo- 

Curiosità. Digitate questa una riga e Fondale. La routine in linguaggio mac- c jià di spostamento det vostro cur- 

poi battete il comando LIST otter- china muta i colori del fondale del vostro sorfi tramite questo semplice una 

rete uno strano effetto, f La redazione) Commodore 64. (La redazione) riga (La redazione ) 


K 

R 

1 

POKE 4096 ,238 : POKE 409?,33iPOK 

1 POR X = I 034 TO 30331 POKE X,C< N 


E 4098, 3081 POKE 4039, 76: POKE 4 

OT (PEEKOO) AND 13S) OR (137 


100,0: POKE 4183,161 SY340S6 

AMD PEEKOO >) :NEXT 


u 




G? 

1 

INPUT " tCLEAR I " ’X,YiFOR 9=1 ro 



85 &TEP * 05 : POKE 10£4 + £0+CO3( 

1 INPUT A$s FOR X=0 TO LEN(A*>-1: 


4 ) *X + INT ( 32+S I N< A ) *Y)*40 ,3 1 INE 

B$=E$+MÌD$(A$,LEN(A$)-X, I ) :NEX 


XT 

T SPRINTO* 


M 


1 

REM ■■ iiwr r art 




R 


M 


1 

FOR A=8 ro 1 5 * POKE 646,A'B-INT 

1 A = INT<RMOa >*1001 >:B = IMT<RNOU 


vRFIHTI > *800 > ; FRI NT TAB<B )*•"; 

) # 17) 1P0KE ( 3033+A) , 1 03 s POKE ( 


NEXTiGDTO 1 

55£3S + ft> 3 GOTO J 


o 


1 

A=PEEK<45) +PEEK <46 ) *256 : B=PEEK 

o 


(47 ) +PEEK ( 48 ) *356 iFOft X=A TO B 

o 


STEP ?;PR INTCHR$(PEEK OO ) "CHR 

1 INPUT "VELOCITA ' * i A : POKE 56335 


tCPEEK < X + 1 ) > i NEXT 

P 



14 - Commodore Computer Club 


KH 


computer System 


s.a.s. di Gloriano Rossi e C. 

C.so Porta Nuova 46 - 20121 Milano 
Tel. 02/6599547-6575 1 1 5 


rivenditore amori zzalo 

o Commodore 

& ttalteIWIdDTfQgife] 


C R 


Software 

i 


Prodotti 

Accessori 

Assistenza 


Assistenza software per Commodore, Sanyo, NCR, Sirius-Victor e tutti i 
personal compatibili IBM- PC, 

KHMODEM, il demodulatore ideale per la trasmissione e ricezione dei dati 
(Baudot, ASCII, RTTY, CW). 


Rivenditori di zona: 

CREMA: EDP ANSWER di A. Guerci - Via Borleno 1 - Tel. 0373-59140 



Schedina. Provate a fare tredici al toto- 
calcio, mediante questa piccola routine, 

(Le J redazione ) 


** si 


Macchina, Una sìvpaticaiautovellura 
percorrerà lo schamio del vostro Com- 
modore 64. (La redazione) 


u 


9000 byte. Volete espandere la memo- 
ria disponibile sul Commodore 64 a 
90000 byte? Se lo desiderate dovete 
porre in esecuzione questa routine 
quando è visualizzato sul vostro televi- 
sore il numero di byte liberi disponibili. Il 
vostro ingegno potrà far ulteriormente 
aumentare la quantità di memoria di- 
sponibile. (La redazione) 


Lucciola. Una lucciola si muove con an- 
damento casuale sul video del vostro te- 
levisore. (La redazione) 


** 


Esami* Questa breve routine, vi consen- 
te dì conoscere la vostra media universi- 
taria dopo che avrete sostenuto il prossi- 
mo esame. Vi verrà richiesto il numero 
degli esami sostenuti e la somma com- 
plessiva dei voti conseguiti. In base a 
questi 2 dati, vi verrà fornita la media a 
secondo del voto che riporterete nel 
prossimo appello. (Manna) 


n ss 


Meschino* Un monchino si m novera 
pazzamente sul monitor del vostro tele- 
visore, (La redazione) 


Mare. Prima di porre iti esecuzione que- 
sta breve mutine, vi consigliamo di inge- 
rire delle pìllole contro il mal di mare. 
(Bevilacqua) 


** ^7" 


Media aritmetica. L’una riga in questio- 
ne, consente dì ricavare la media aritme- 
tica di una serie dì dati impostati dall'u- 
tente, (La redazione) 


n se 

Interrogate. Vi offriamo un mini moni- 
tor, che consente dì visualizzare il conte- 
nuto delle locazioni di memoria compre- 
se tra due specifici indirizzi. 

Inoltre verrà evidenziato il valore 
ASCII di queste locazioni. (La 
redazione) 


1 INPUT A f B i POR K=A TC B s NNPÈEK < 
K> :RRINTK?N;CHRSCN) SPRINTI FOR 
F=i TO 1 00 s NEXTP s NEXTK • GOTO 1 

U 

t A*** 1_^« ID01HK5 LEFT 3 K - 

O-O-' "SPRINT* tCLEAR ] " TAB<B }f\$B 
$:IF A<255 THEN P=P+1:G0T0 1 

n 

v 

1 PR I NT " £ HOME I [ 3 DOWN] [1 ? R I GHT ] 
3S000*' ' 

kJ 

1 :FOR 1=0 TO 9?iA$= 

MID*CA$,7, 1 )+MID$(A$, 1 ,6>+MID* 
<A$, 1 ,S) SPRINTA*; A*; A*JA*;A*:N 

X 

1 PR INT" £ CLEAR ] * ! PR INT "ESAMI " J : I 
NPUT A:PRINT"VQTO"J s INPUT B*FO 
R 1 = 13 T0 30 SPRINTI'*: " CI +B>/(A 
+ 1 >*NEXT 


Y 

1 A*“ " £UP 3 £R IGHT] [ DOIJNJ [LEFT]” :P 
R INT M LEFT HRVS3 *MID*<A*,RND< 
1 >*4 + 1 , 1 DTLEFTI IRVS]*"J sFOR I 
= 1 T0 30 s NEXT : GOTO 1 


1 A = INT (RND ( 1 ) * 1 000 3 ! B= 1034 ! POKE 
B+A,81:F0R T* 1 T0 200:NEXT:FR 
INT* ICLEAR] " !S0T0 1 

& 

J INPUT "QUANTI NLIMER I " J Ni POR 1 = 
1 TO N: PR INT "NUMERO " I J s INF UT V 
sSsS+Vsf'EXT SPRINT” LA MEDIA E 1 E 
RVS ] "S/N 


i a*< 0) = ''X" i >= " i "i a*<£ :> = "2" s 
PR INT" [OLEARI" SFQR 1=1 TO I3iA 
=RND( 1 > #3 :PR INTASCAI JNEXT 


Gii arcoppìam enrt sono pubblicati a pagina . 5 1 


16 - Commodore Computer Club 




STUDIO D 

PER NON SMARRIRE MAI IL FILO DEL DISCORSO. 
STUDIO D 

EMITTENTI RADIOTELEVISIVE INDIPENDENTI (HE SI FANNO SENTIRE. 


studio 

d 


CONCESSIONARI MEZZI 
RADIOTELEVISIVI 


STUDIO D 

Via Rossini 5 - 20122 MILANO 
Tel. (02) 799.59Z-782.503 








.i V 






È 

























Lari amia , questo numero 
di htglio/ agosto 

Commodore Computer Club è stato 
da noi dedicato quasi completamente 
ad allietare le vostre vacanze ; che siate 
al lago , in montagna, al mare o chissà 
dove altro , siamo sicuri che non vi 
sarete fatti scappare l'amata rivista in 


6 


/ 


m 



A 






cv 









ansia a spogliarne te pagine, euuene, 
tutte quelle che seguono, contengono 
articoli da leggere in tutta rilassatezza 

ot 

poi approfondirli con calma davann 
alla tastiera e sassi e conchiglie, 
oppure un robot fatto di scatole di 
fiammiferi che imparano a giocare, le 
parole crociate a tante altre cose 
ancora \ Buon divertimento! 


■ 









‘V m. 












•• rcSZi ”, iì.Iì^ a». - < 






L 











5* JÌ*/' 


Sfemw&m&M 


mmmr-.'- 
», wm 


Wwte& 


ma?: 


H 






Piu veloce dì molte calcolatrici elettroniche, V abaco è il più diffuso 
utensile di calcolo di tutto l'est asiatico. Imparare ad usarlo non è 
difficile: basta un po ’ di buona volontà ed un pizzico di pazienza 
orientale , Ma noi vi proponiamo qualcosa di più. Certi che passerete 
la maggior parte delle vostre vacanze mollemente sdraiati su qualche 
spiaggia, mettete a frutto il vostro tempo: con dei sassi, o delle 
conchiglie , o entrambi, simulate un abaco ed imparate ad usarlo. 
Tornati in città f fate il diagramma di flusso e preparate un 
programma per simulare su vìdeo il funzionamento del pallottoliere. 
Il programma migliore sarà pubblicato su Commodore Computer 
Club ed al suo autore verrà offerto in regalo . . . indovinate cosa ? 

Un pallottoliere cinese in carne ed ossa l 


RASSOMIGLIA al pallottoliere 
col quale da bambini abbiamo im- 
parato a contare e lo si ritrova in 
numerosi paesi dell'Est, dalla Rus- 
sia al Giappone. 

L’abaco rappresenta V "appa- 
recchiatura" più diffusa negli uf- 
fici e nelle aziende cinesi. In tut- 
ta la Repubblica Popolare non 
e 'è ufficio od abitazione che ne 
sia sprovvista e 0 suo uso é obbli- 
gatorio nelle scuole elementari e 
commerciali. Ovunque vada, il 
cinese lo porta con sé e spesso 






$fo*>sr 

ì 




m&mg? 


ili 


pallottoliere cinese 


non riesce a contare senza questo 
strumento, la cui utilizzazione è 
semplice e fa concorrenza, dal 
punto di vista della velocità di 
calcolo, a quasi tutte le calcolatri- 
ci elettromeccaniche. 

Approccio 

L'abaco si divide in due zone: 
una superiore con due palline che 
funzionano da contatori per le 
cinquine ed una inferiore con cin- 
que contatori per le unità, le de- 


cine, le centinaia, le migliaia, i mi' 
lioni, i miliardi, ecc.* 

Per impostare un numero so- 
litamente si usa: a) l'indice, b) il 
pollice e Vindice, oppure c) il poi-, 
lice, l'indice ed il medio. Il siste- 
ma migliore sembra il secondo. 

Il pollice serve per "aggiunge- 
re' 1 i contatori nella zona inferio- 
re (ossia spingerli verso la lìnea 
di demarcazione); Vindice per: 

a) toglierli, nella zona inferiore, 

b) aggiungerli o toglierli, in quel- 
la superiore. In particolare le ope- 


razioni effettuabili sono: 

1/ aggiungere uno o più conta- 
tori; 

21 toglierli; 

3/ aggiungere un contatore di 
cinquina e sostituire (togliere) 
uno o più contatori d'unità; 

4/ aggiungere un contatore d'u- 
nità e toglierne uno di cinquina; 

5/ togliere un contatore dalle u- 
nità e posizionarlo al posto delle 









(A) 2 + 1 


3 


(B> 2 + 6 



6 


(C) 2+4 


1 i (D 



6 


decine (passandolo, cioè, nella 
colonnina immediatamente più a 
sinistra); 

6/ passare un contatore dalla 
posizione di decina a quella delle 
unità. 

L’addizione 

Spieghiamoci con degli e- 
sempi. 

• 2+L Nell'esempio prima si 
posizionano 2 contatori, quindi 
si aggiunge una terza unità col 
pollice, 

• 2 + 6. In questo caso, si impo- 
sta prima il 2 col pollice; poi si 
posiziona con l'indice una cinqui- 
na nella parte superiore e col pol- 
lice una unità nella zona inferiore 
(5 + 1 = 6). Il risultato è un con- 
tatore di cinquina e tre unità 
(5 + 3= 8), 

• 2 + 4. Dapprima s’imposta il 2, 
(posizionando col pollice due 
contatori d'unità), quindi si ag- 
giunge il quattro. Poiché nella co- 
lonna non sono disponibili altri 4 
contatori d'unità, si procede ag- 
giungendo un contatore di cinqui- 


na e togliendone in basso uno 
d'unità (5-1 = 4)* Sulla colon- 
nina resterà una cinquina più una 
unità, ossia 6 che è il risultato ri- 
cercato. 

• 9 + 7, S'imposta il 9 (una cin- 
quina e 4 unità), quindi si aggium 
ge il 7. Questo, non essendo di- 
sponibile nella stessa colonna é 
digitato con un contatore di deci- 
na nella posizione immediata- 
mente a sinistra, meno tre unità, 
sottratte al 9 già impostato 
(10 - 3 — 7}* Sull'abaco rimarrà 

11 risultato 16. 

• 36 + 75. Per sommare numeri a 
due cifre si opera da sinistra ver- 
so destra, cioè dalle decine alle 
unità. In questo caso, prima si 
aggiungono le 7 decine di 75 ope- 
rando come nell esempio d, quin- 
di si aggiungono le 5 unità sem- 
pre con lo stesso metodo* 

Sottrazioni 

• 10 - 3. In questo caso non ab- 
biamo contatori d'unità, per cui 
si procede togliendo il contatore 
di decina e sottraendo da esso il 
3 espresso nella forma -10 + 3* 
Per l 1 occidentale l'operazione 
sembra superflua, ma evidente- 
mente le operazioni semplicissi- 
me vanno fatte mentalmente e 
visualizzate con l'abaco, 

• 12-6. Come nel caso prece- 
dente nella colonnina delle unità 
non abbiamo unità sufficienti per 
sottrarre il 6, che quindi viene 
impostato come -6 = -10 + 4, 
ossia togliendo il contatore di de- 
cina ed aggiungendo 4 unità. Poi- 
ché nella colonnina non sono di- 
sponibili, queste vengono aggiun- 
te con un contatore dì cinquina 
meno uno d unità. L'operazione, 
in termini algebrici, sì svolge nel 
modo seguente: 

12 - 6 “ 12 - (10-4) - 12 - 
-110- (5- 1)1 - 6 


• WO - 58. Operando con nu- 
meri a due o tre cifre, si proce- 


(D) ? ■+ 7 

i t r 




■ 

c 


1 

n 

®t 

p» 


/ 6 


(E) 3 6 + 75 


e 

— i — 

il 

J 

Ij 2 



f £ 


r 

t - * 

.■ i * 
■ 

i 

» 

-X- 


ore 

\ 

i 

1 

1 

J 

n 

P»<- 

(0 



fF) / 0-3 


7 


fC> / 2-6 


□ 

1 1 ® 

“5 

'Di 

i\ . 


6 

[Hi t 0 0-5 8 


m 

H 

1 




ti 2 


de sempre dalla sinistra verso la 
destra, In questo caso, prima si 
sottrae il 5 di 58 dalle centinaia 
(5=10^5), quindi sì sottrae 
18 (-8= -10 + 2), 

Un esercizio che ha impegna- 
to tutte le generazioni di studenti 
cinesi consiste nel sommare nove 
volte il numero 123.456*789. Il 
risultato corretto é 1.1 1 LI 1 1.101 
dal quale successivamente si sot- 
trae rrave volte consecutive 
123.456.289 per ritornare al risul- 
tato “0 f \ Se superate questo test 
potete passare alle operazioni suc- 
cessive. 



22 - Commodore Computer Cfab 


Moltiplicazione 

Cominciamo dalla determina* 
zione della posizione della cifra 
delle unità nel prodotto. 

1/ Nel caso in cui il moltiplica* 
tore e un numero intero o mi- 
sto (intero e decimale), bisogna 
prima contare le cifre della parte 
intera, quindi ci si sposta dim 
numero uguale di posizioni sul- 
la destra della cifra delle unità 
del moltiplicando; l 'ultima posi- 
zione trovata corrisponde a quel- 
la delle ' unità del prodotto da 
calcolare. 

2/ 'Se il moltiplicatore è un de- 
cimale e tra la virgola e la pri- 
ma cifra significativa abbiamo 
degli zeri si contano questi ul- 
timi, quindi ci si sposta di un 
egual numero di posizioni sulla 
sinistra del moltiplicando fino 
a determinare la colonnina delle 
unità del prodotto. 

3/ Se, infine, il moltiplicatore 
é un decimale e non c'é alcuno 
zero tra la virgola e le cifre si- 
gnificative dell 'espressione, la po- 


sizione delle unita del prodotto 
corrisponde con la colonnina del- 
le unità del moltiplicando. 

Vediamo ora con degli esem- 
pi come si svolge l'operazione. 

• 67 x 2. Comparate l 'ultima ci 
fra del moltiplicando (il 7 della 
colonnina b del] 'esempio) con il 
moltiplicatore 2. 

2 x 7 dà 14, quindi, dopo aver 
tolto 7 dalla posizione b sì mette 
al suo posto 1 ossia la prima ci- 
fra di 14 - e 4 nella colonnina al- 
la sua destra (c). Successivamente 
si passa all'altra cifra del moltipli- 
cando (il 6 di 67) e, poiché 2xó 
dà 12, si annulla il 6 della colon- 
nina a e in sua vece si posiziona 
ri di 12; il 2 dì 12 va posiziona- 
to nella colonnina b, cioè va ad- 
dizionato alla cifra che vi trovia- 
mo. Sull abaco, leggeremo 0 pro- 
dotto 134* 

*9x7. In questo caso, sapendo 
già che 9x7 = 63, si posizio- 
nerà prima il 6 al posto del 9 ed 
alla sua destra si metteranno i tre 
contatori d'unità per il 3. 

• 26 x 14. Nella figura corrispon- 



dente vediamo che il 
tore e un integrale a 
quindi ci spostiamo di 
zioni sulla destra delle unii 
moltiplicando (colonna d). 


Procedimento: 

1/ Calcoliamo il prodotto dell'ul- 
tima cifra del moltiplicando (col. 
b) con la prima dei moltiplicato- 
re (col* 1); 

1 x 6 dà 6, quindi toglieremo il 6 
dalla b e posizioneremo il prodot- 
to sulla c; 

2/ si calcola con lo stesso proce- 
dimento il prodotto della secon- 
da cifra del moltiplicatore (il 4 di 
14) e poiché 4 x 6 da 24 si ag- 
giunge il 2 dì 24 nella colonnina 
c (dove già abbiamo un 6) e il 4 
di 24 sul contatore immediata- 
mente più a destra (colonna d); 
3/ ora si riporta il risultato 2 di 
ì x 2 nella colonna b, dopo aver 
tolto il 2 del moltiplicando dalla 
a. Infine si esegue mentalmente 


Visualizzata nette sue tfnee di progetto grafico, 
ecco ancora una dette scene det film Trarr. 

(’djn> righi £ | Wall iMnt'v Fenduti idra 



Commodore Computer Club - 23 



riporta il prodotto 8 
orina c. A questo punto 
leggere sulFabaco il risul- 
finale 364 r 
• 6/8 x 345. Cominciamo con 


la determinazione della colonnh 
na delle unità del prodotto. Il 
moltiplicatore e un numero inte- 
ro a tre cifre, quindi contiamo 
tre posizioni sulla destra a parti- 
re dalla colonnina delle unità del 
moltiplicando: la posizione delle 
unita del prodotto corrisponde 
alla colonna f, 

11 seguente diagramma mostra 
i diversi passi di calcolo da ese- 
guire sull abaco: 


Ecco un altro esempio. Vo- 
gliamo moltiplicare 4,076x0,028 
e come prima cosa determiniamo 
la colonna delle unità del prodot- 

67x2- f 3% 


A B C D 





r 

à e 

i 


i 







ì 




i 


1 

— 

l 



Ì7 
/ 2 

/3& 


9 * 7 - 6 3 


A fi 


t 

D 

— t 

ì_. 


i 

i 




■ 




o 3 


? 6 / V * 3 6 U 


x* i rt, [«. t. i* hu 2 a li r n 



io. Come si vede, il moltiplican- 
do ha uno 0 dopo la virgola e la 
prima cifra significati va decimale; 
pertanto, conteremo una posizio- 
ne a sinistra della colonnina delle 
unità del moltiplicatore (b), ossia 
stabiliremo che le unità del pro- 
dotto vanno posizionate in a. Ec- 
co ora, la sequenza dei passi di 
calcolo (indicati dal numerino 
cerchiato): 


lì 


• Dopo esservi esercitati posi- 
zionando nell'abaco sia il molti- 
plicando che il moltiplicatore, 
provate ad eseguire altri esercizi, 
posizionando solo l'uno o l'altro. 
I cinesi solitamente li tengono 
entrambi in memoria, allo scopo 
di rendere il calcolo piu veloce. 

Divisione 

Anche in questo caso, la pri- 
ma cosa da fare é determinare la 
posizione delle unità del quo- 
ziente, 

1/ Si contano le cifre della parte 
intera del divisore e ci si sposta 
d'un equa! numero di posti + l 
verso la sinistra della colonnina 
delle unità del dividendo deter- 
minando, cosi, dove posizionare 
le unità del quoziente. 


2/ Se tra la virgola e la prima ci- 
fra significativa decimale ci sono 
degli zeri, ci si sposta verso la de- 
stra della colonnina deile unità 
del dividendo d'un egual numero 
di posizioni meno una, quanti 
sono gli zeri tra la virgola e la pri- 
ma cifra significativa decimale. 
Se, invece, tra la virgola e la pri- 
ma cifra tra la virgola e la prima 
cifra decimale significativa c'é un 
solo zero, la colonnina delle uni- 
tà del quoziente coinciderà con 
le unità del dividendo, 

3/ Se tra virgola e cifra decimale 
significativa non ci sono zeri, le 
unità del quoziente saranno posi- 
zionate nella prima colonnina a 
sinistra delle unità del dividendo, 

Ecco ora alcuni esempi di cal- 
colo. 

* 93 : 3. In questo caso il divi- 
sore è un numero intero ad una 
cifra, quindi ci sposteremo sulla 
sua sinistra di una. posizione + 1, 
dove segneremo le unità del quo- 
ziente (B). 

Il procedimento per il calcolo 
vero e proprio si svolgerà in que- 
sto modo: 

1/ Componiamo la prima cifra 
del dividendo (il 9 della colonni- 
na C) con il divisore 3 e, sapendo 
che il 3 nel 9 é contenuto 3 vol- 
te, posizioniamo il risultato 3 
nella colonnina A. 

2/ Moltiplichiamo il divisore 3 
col primo risultato posizionato 
nella colonna delle unità A del 
quoziente (3). II risultato 9 va 
sottratto al 9 della colonnina C 

3/ Ripetiamo ['operazione con 
la seconda cifra del dividendo (il 
3 della colonnina D) e, sapendo 
che il 3 nel 3 é contenuto 1 vol- 
ta, riportiamo l'I nella B. 

4 / Moltiplichiamo il divisore 3 
per la seconda cifra del quoziente 
1, quindi sottraiamo il risultato 
dalla colonnina D. A questo pun- 
to leggeremo il risultato 3L 


24 ■ Commodore Computer Club 


• 1476 : 12. In questo esempio 
il divisore è un numero intero a 
due cifre; quindi ci sposteremo 
di 2+ I posizioni a sinistra delle 
unità del divìdendo (colonnina F) 
dove segneremo le unità del quo- 
ziente. I passi di calcolo sono i 
seguenti: 

1/ Dividiamo la prima cifra del 
dividendo (Fi di 1476) per la pri- 
ma del divisore (Fi di 12) e sa- 
pendo che 1 é contenuto nelLl 
una sola volta, segnamo l nella 
colonnina A* quale prima cifra 
del quoziente. 

2/ Moltiplichiamo 1 ' 1 di A con 
la prima cifra del divisore (cioè 
l'I di 1476). 1x1=1 che sottrar- 
remo dalla colonna C. 

3/ Moltiplichiamo il 2 della se- 
conda cifra del divisore 12 perla 
prima cifra del quoziente e sot- 
trarremo il risultato (1x2=2) 
dalla D ottenendo un nuovo divi- 
dendo (276). 

4/ Ripetiamo le operazioni col 
nuovo dividendo; in particola- 
re cominceremo col vedere 
quante volte la prima cifra del 
divisore é contenuta nella prima 
cifra del nuovo dividendo. 2:1 
dà 2 che collocheremo nella B r 
quale seconda cifra del quo- 
ziente, 

5/ Moltiplichiamo la prima ci- 
fra del divisore (1) per l'ultima 
cifra del quoziente calcolato (2). 
Il risultato sarà 2 che sottrarremo 
dalla colonna D. 

6/ Moltiplichiamo la seconda ci- 
fra del divisore 2 per l'ultima ci- 
fra calcolata del quoziente (2} e 
sottraiamo il risultato (4) dalla 


93+3- 3/ 


A B C D 



14-16 + 12 — 1 23 





bn 


J u 



posizione E r ottenendo il nuovo 
dividendo parziale 36. 

7/ La prima cifra del nuovo di- 
videndo (3) contiene 3 volte la 
prima cifra del divisore 1, Posi- 
zioniamo 3 sulla destra delle cifre 
di quoziente già calcolate (colon- 
na C). 

6/ Moltiplichiamo la prima cifra 
dei divisore (I l dì 12) per l'ulti- 
mo valore di quoziente trovato 
(3} e sottraiamo il risultato dal- 
la E. 

9/ Moltiplichiamo il 2 della se- 
conda cifra del divisore sempre 
per l'ultima cifra del quoziente 
provvisorio (3) e sottraiamo il 6 
risultante dalla F. Leggiamo 
quindi il risultato. Ecco schema- 
ticamente la successione dei passi 
descritti. 


12 a b c o E F 
J 4 7 6 

1 

— L 

2 7 % 

l 

—2 

__ —4 

5 6 

% 

—3 

—b 

ì 1 3 0 

* Un altro esempio: 638 : 22. 
La prima cifra del divisore (2) é 
contenuta nella prima cifra del 
dividendo (6) 3 volte, per cui 
riportiamo 3 nella colonnina A, 
Moltiplichiamo questo risul- 
tato per la prima cifra del diviso- 
re (2x3 = 6), sottraendo 6 dalla 
C; quindi per la seconda cifra (2) 



1 risulta 


del divisore. Il 
drebbe sottratto dalla 
colonnina D. Ma 6 è mag^P^ 
del 3 che vi ritroviamo; per cui 
dobbiamo (a) scalare d*una uni- 
tà la penultima cifra di quozien- 
te calcolata, quindi (b) riposizìo- 
nare un 2 della prima cifra del 
divisore già moltiplicato per 3 
nella corrispondente colonnina di 
calcolo C; successivamente si 
moltiplica la cifra di quoziente 
corretta (2) che ritroviamo sulla 
colonnina A per la seconda cifra 
del divisore (2), 2x2 dà 4 che 
posizioniamo sulla D per sottrar- 
lo dal quoziente provvisorio 

(238-040 - 198). 


Dividiamo il nuovo dividendo 
parziale (198) per il divisore (22) 
e calcoliamo quante volte la pri- 
ma cifra di quest'ultimo é conte- 
nuta nella prima cifra (o nelle 
prime due cifre del dividendo, se 
maggiore). 18:2 dà 9 che segne- 
remo sulla B, quale ultima cifra 
di quoziente calcolata. 


Moltiplichiamo la prima cifra 
del divisore (2) per 9, quindi sot- 
traiamo il risultato 18 da DE. lì 
quoziente, come si vede dalla se- 
guente ricapitolazione, sarà 29, 


63U 4 - 12 

ABC D li 

22 fi j 

3 


b 

— 6 


3 

— 1 

Q 

0 

j 

£. 

i ' 


2 

u 


3 

-4 

a 

7 

fc. 

0 

i 

6 

1“ 


9 





-ì 

fl 





-I 


2 

9 





Capito tutto? 

Certamente, con un abaco in 
mano, vi sarebbe più facile eser- 
citarvi. Se ne desiderate uno, non 
vi resta che profittare delle pros- 
sime vacanze e andare a comprar- 
ne uno ... in Cina. m 


Commodore Computer Club - 25 


■ 



f:c *■ 

- réSRft? fcÉflfr 



GIOCHI 


Il computer 

INTELLIGENTE 

Ovvero come costruirsi 
un robottino in grado 
di imparare a giocare 

Siete stesi sulla spiaggia e non avete niente da fare? Basta poltrire ! 
Andate a rubare dagli ombrelloni vicini tutte le scatole di fiammiferi 
svedesi che potete , procuratevi forbici e colla e costruitevi IMP, il robot 
pensante al quale insegnate a giocare alVesapedone e che dopo un po ’ vi 

batterà con una regolarità esasperante. 


1 1 campo di battaglia, costituito dagli 
incroci di una scacchiera, è considerato 
da sempre uno dei test più importami 
delle capacità logiche di un essere 
umano. 

Il celebre maestro di scacchi sovietico 
Botvinnìk, ipotizzò che con l'approssi- 
marsi dell'anno 2000 sarebbe stato un 
calcolatore elettronico il campione del 
mondo di questa specialità. A causa della 
sua affermazione, fu oggetto di una fero- 
ce colica da parte degli ambienti scacchi- 
stici intemazionali, 

A distanza di parecchi anni, siamo in 
grado di dirimere completamente l'argo- 
mento della disputa? Almeno 3 motivi ci 
spìngono a ritenere sensate le argomen- 
tazioni di questo celebre maestro 
sovietico, 

• Un computer non è soggetto ad errori 
di distrazione, come invece capita per 
quasi tutti gli esseri umani, 

• Può valutare rivoluzione delle varie 
fasi dì gioco, ad una velocità assai supe- 


riore rispetto a quella ipotizzabile per 
qualsiasi cervello umano, 

• Un calcolatore può apprendere dai 
propri errori, modificando il suo com- 
portamento nel caso che in un successivo 
incontro si verificasse una situazione 
uguale o analoga a quella attualmente in 
corso, 

I primi 2 punti non dovrebbero susci- 
tare eccessivi dubbi nel lettore, mentre 
potrebbero esìstere delle perplessità sul- 
la veridicità della terza affermazione. La 
possibilità di modificare il proprio com- 
portamento, a causa di una determinata 
esperienza effettuata, è sempre stata ri- 
tenuta una prerogativa prettamente 
umana, 

Se toccando un recipiente bollente, un 
bambino prova una sensazione di dolo- 
re, nel caso che si riprescntasse una situa- 
zione dei genere eviterbbe il contatto con 
l'oggetto incandescente. Questo è un 
semplice esempio di come, soprattutto 
nella giovane età, lo sviluppo mentale di 
un’individuo è connesso agli stimoli che 


gli provengono dairambiente circo- 
stante. 

Il terzo punto delle precedenti argo- 
mentazioni, inerenti al gioco degli scac- 
chi, può presentare stratta analogie con 
Fanalisi appena effettuata. 

Se una macchina giocasse inizialmente 
in maniera assai scadente al gioco degli 
scacchi, ma avesse la possibilità di evol- 
vere la propria tattica tramite le successi- 
ve sconfìtte riportate, il suo processo di 
miglioramento potrebbe non conoscere 
limiti. 

Per meglio esemplificare i processi di 
auto apprendimento, affronteremo il te- 
ma deiresapedone. 

Abbiamo scelto questo genere dì gio- 
co, perchè riteniamo, che seppur molto 
semplice, sia indicato per la trattazione 
dei processi di intelligenza artificiale. 

La competizione si svolge su una scac- 
chiera delle dimensioni di 3 caselle per 3, 
con 3 pedoni situati su ciascun lato della 
superfìce di gioco (osservate la figura 1). 


Commodore Computer Club -27 


GIOCHI 



II gioco detf esapedone. 


Gli spostamenti possibili sono solo 
due: 

* 11 pedone può muoversi in avanti di una 
posizione, 

« Un pedone può catturarne uno nemi- 
co, spostandosi in diagonale. La cattura 
di un pezzo provoca la sua immediata 
esclusione dal gioco in corso. 

La competizione ha termine quando si 
verìfica una delle 3 seguenti eventualità; 

* Uno dei 2 contendenti è impossibìlato 
a muoversi senza contravvenire alle re- 
gole precedentemente citate, 

* Portando un proprio pedone sulla ter- 
za riga avversaria. 


* Catturando tutti i pezzi nemici. 

La durata del gioco non può essere 
naturalmente superiore alle 6 mosse 
complessive, sommando quelle effettua- 
te dai due contendenti. 

Ora vi illustreremo un processo di auto 
apprendimento, basato sul gioco 
dell’esapedone. 

Prima di addentrarci nella spiegazione 
dell'argomento, è necessario munirsi del 
materiale di cui faremo uso nel seguito 
deH'articolo. Per costruire questa mac- 
china pensante, non dovremo far ricorso 
obbligatoriamente ad un calcolatore, ma 
potremo avvalerci di semplici oggetti 


presenti in qualsiasi abitazione 
domestica. 

Reperite 24 scatole di fiammiferi e al- 
cune biglie colorate di dimensioni ridot- 
te. Su ciascuna delle confezioni, deve 
essere incollato uno degli scherni riporta- 
ti nella figura 2. Adesso ponete m ognu- 
na delle scatole di fiammiferi, un numero 
di biglie pari alla quantità di freccette 
raffigurate su] diagramma incollato nella 
parte supcriore di ciascuna confezione. 
Se ad esempio nello schema riportato su 
una scatola sono presenti 3 frecce, dovrò 
porre al suo interno 3 palline di colore 
differente. Vi raccomandiamo dì abbina- 


ci? - Commodore Computer Club 







m 


P 

o 

m 

T 


0 


4 


□ 

D 

□ 

□ 

n 

□ 





a 

• 

■ ■ ■ ■ 

<3 

17 

Si 


© 

a 



s 

0 


4 


d 

o ! 

d 


O 

ra 


o 



t), 

2 

2 

4 

4 


• 

A 


0 

4 




o 

4 




fi 

P 

• 

9 

© 

o 




4 


□ 

n 


m 


o 


i f 

»• 

c 



o 

4 



ma 


nn® 


4 1 4 

6 



Ili 

n 

n 



rr 

Jm I j 

nn® 

®nn 

lag 


ir 

4 

n 


4 

JL 


6 

6 

6 



•> 


m 

o 

© 

4 



6 


$ 

» 

m 



4 

6 



Contrassegni delle scatole di fiammiferi deiHMP (i quattro diversi tipi di frecce rappresentano i 
quattro diversi colori}. 


re a cianumi delle ire passibili frecce, 
una biglia di croma diverso. 

Le operazioni preliminari sono esauri- 
te. ora siamo in possesso di 24 scattile con 
i rispettai diagrammi incollati nella parie 
superiore e contenenti un numero di pal- 
line pari a quello delle freccette. 

La competizione com incera ira noi e la 
macchina pensante (per rendere mag- 
giormente familiare il rapporto con essa, 
supponiamo di denominarla IMP, acro- 
nimo dì “intelligente macchina pensan- 
te"), Impostiamo la nostra prima mossa, 
dopo di che spetterà a IMP effettuare il 
secondo turno di gioco. Come avrete 
senza dubbio notato, alla base di ciascun 
diagramma, incollato sulle scatole di 
fiammiferi, è riportato un numero (2.4 
oppure 6). Poiché IMF gioca sempre per 
seconda, queste cifre indicheranno tra 
quali alternative, o per meglio dire con- 
fezioni, è possibile scegliere in rapporto 
al numero della mossa di gioco attual- 
mente in corso, 

Ad esempio, nel secondo turno, IMP 
ha a disposizione 2 differenti scatole di 
fiammiferi. Dopo aver scelto casualmen- 
te una delle 2 confezioni, estraiamo da 
essa una delle biglie ed effettuiamo la 
mossa corrispondente alla freccetta abbi- 
nata alla pallina. La biglia estratta, deve 
essere posta al di sopra della scatola di 
fiammiferi da cui è stata tolta. 

Adesso toccherà a noi effettuare la terza 
mossa. Dopo averla terminata, ìMP ef- 
fettuerà il suo quarto turno di gioco. In 
questo caso dovremo scegliere tra 11 
possìbili scatole di fiammiferi ed estrarre 
da una di esse una pallina colorata. 

Dopo aver effettuato queste operazioni 
ed aver eseguito la mossa corrisponderne 
al colore della biglia, poniamo la pallina 
al di sopra della scatola da cui è stata 
precedentemente estratta. Effettuiamo 
la nostra quinta mossa. Se non si £ verifi- 
cata una delle condizioni che pongono 
termine allò scontro tra i 2 contendenti. 
IMP effettuerà il sesto ed ultimo turno di 
gioco. 

Le scatole a disposizione per la scelta 
dell’elemenEo finale sono IL e sarà ne- 
cessario ripetere una procedura del tutto 


Commodore Computer Club - 29 

























una toga a quella che ha caratterizzato le 
due precedenti mosse della nostra mac- 
china pensante, 

Adesso è termi nata [a partita e si pos- 
sono natura liti e nte presentare due diser- 
se eventualità: 

# Noi siamo i vincitori 

* Oppure ha vinto tMP. 

Nel caso che vinca la macchina pen- 
sante, riponete tutte le biglie estraile, 
all'interno dèlie rispettive scatole di pro- 
venienza. Se invece voi risultaste vincito- 
ri, punite IMP confiscando la biglia che 
rappresenta la sua ultima mossa e non 
utilizzatela più nei successivi confronti. 
ÀI contrario le altre palline estratte do- 
vranno essere reinserite all'interno delle 
confezioni da cui provengono. 

Oneste competizioni dovranno essere 
ripetute svariate volte e permetteranno 
al nostra 1MP di eliminare tutte le mosse 
che si sono rivelate fatali ai fini del risul- 
tato finale del gioco. Seal termine di una 
sfida, una confezione di fiammiferi rima- 
nesse priva di elementi, dovreste elimi- 
narla dalle successive competizioni e to- 
gliere dal gioco la biglia dell'estrazione 


immediatamente precedente. 

La macchina pensante, che era iniziai- 
mente incapace di giocare, escluderà, 
progressivamente, tutte le varianti che la 
hanno condotto ad una inevitabile 
sconfitta. 

E’ innegabile che IMP ha acquisito 
esperienza facendo tesoro degli errori 
passati, cosi come ima persona evita di 
incorrere nuovamente iti situazioni che si 
sono rivelate deleterie nel passato. 

L’algoritmo che vi abbiamo proposto, 
dovrebbe consentirvi di costruire un pro- 
gramma di intelligenza artificiale, finaliz- 
zato al gioco dell 1 esapedone, Le migliori 
realizzazioni, dovrebbero consentire già 
dopo circa 30 partite, di avere un pro- 
gramma che gioca assai bene ad csapedo- 
ne (vedere figura 3). L’acquisizione di 
esperienza, lo renderà praticamente im- 
battibile anche da parte di colui che ha 
creato il programma. 

Attenzione!! Lanciamo una sfida a 
tutti è lettori di Commodore Computer 
Club, invitandoli ad elaborare ed a in- 
viarci dei programmi, che prendendo 
spunto dall’algoritmo precedente illu- 


strato, riescano ad elaborare un software 
di auto apprendimento. 

Ora che si avvicinano le vacanze, per- 
chè non provate ad utilizzare il tempo 
libero in montagna o sotto rombici lo ne. 
dilettandovi con questa simpatica com- 
petizione che vi abbiamo proposro? 

Effettivamente la fase di comprensio- 
ne dell’algoritmo e di successiva stesura 
del programma, non necessitano obbli- 
gatoriamente di un calcolatore. Alcune 
scatole di fiammiferi, un po’ di palline 
colorate e svariate pagine di un blocco di 
appurili, vi permetteranno di passare al- 
cune gradevoli ore in compagnia della 
nostra amica IMP, 

Desideriamo puntualizzare, che non 
siamo interessati ad un programma che 
giochi perfettamente sin dal suo primo 
utilizza, poiché non sarebbe concernente 
con l'argomento trattato in questo arti- 
colo, l contributi di coloro che si volesse- 
ro cimentare su argomenti differenti dal- 
Pesapedone, risulteranno comunque 
graditi. 

Le migliori elaborazioni verranno 
pubblicate sulla rivista e premiate con i 
migliori prodotti della nostra casa editri- 
ce. Non dimenticate che gli argomenti 
analizzati in questo articolo, sono ogget- 
to di approfondito studio da parte di co- 
loro che si interessano dell'evoluzione 
dell’ informatica. 

Tutti coloro che hanno sempre ritenu- 
to che Funico pregio di un calcolatore 
possa essere quello di eseguire grossi 
quantitativi di operazioni ad atta veloci- 
tà, potrebbero risultare definitivamente 
sconfessati. 

I computer della quinta generazione 
potranno acquisire esperienza dai propri 
errori? E' ipotizzabile una macchina che 
prenda autonomamente delle decisioni 
importanti? 

Questi sono alcuni dei temi dominami 
il panorama informatico dei prossimi 
anni. 

Inevi Labilmente il problema adenti fi- 
co e quello etico dovranno trovare dei 
punti di riflessione comune, per evitare 
che Tuonio risulti impreparato alla sfida 
tecnologica dell’anno 2000. 


IL ROBOT DIVENTA UN PERFETTO GIOCATORE 
DOPO AVER PERSO 11 PARTITE j 



Curva dì apprendimento dell'lMP notte prime cinquanta partite (i tratti inclinati in basso indicano sconfitta 
q uniti in atto, vittorie. 


30 - Commodore Computer Ctub 


GIOCHI 


Le parole incrociate 
di Commodore Computer Club 


Mettete alla prova la vostra conoscenza del computer con questo semplice 
schema di parole incrociate. Siamo sicuri che la maggior parte di voi lo 
risolverà molto facilmente! 

soluzioni a pag< 5 1 



ORIZZONTALI 

l- Misura Ì3 numero dei caratteri di una 
stringa. 2- Comando del C-16 con tre 
argomenti. 4- Restituisce il contenuto di 
una locazione di memoria. 5- Abbrevia- 
zione lecita con cui assegnare il valore ad 
una variabile numerica. 6- Prima parola 
del messaggio di errore che compare 
con: DIM A( 10000). 7* Dopo che il pro- 
gramma termina. 8- Semplice messaggio 
di conferma. 9- Dopo IF nel caso sia 
diverso. 11- Genera un errore se privo di 
fur. 13- Abbreviazione lecita per salto 
incondizionato Basic. 14- Un linguaggio 
oltre il Basic. 16- Vi è memorizzato il 
Sistema Operativo. 17- A piitto che. 19- 
Ordine di visualizzazione. 20- Sigla di un 
noto circuito integrato del Vie. 21- Codi- 
ce operativo, 22- Parente stretto del ciclo 
FOR... NEXT. 23- Le tre voci elettroni- 
che del Commodore 64 _ 

VERTICALI 

1- Comando superfluo nei moderni lin- 
guaggi Basic. 3- Arrossisce quando regi- 
striamo. 4“ Un suo uso improprio combi- 
na seri guail 8- Può esserci prima di un 
salto. 10- Eseguire anche in altri casi. 12- 
Lo sono, della memoria, le locazioni 55 e 


56. 13- Sa Ita senza discussioni. 15- Ripor- 
ta un programma in memoria. 16- Fun- 
zione indispensabile per programmare 
giochi alla roulette, 18- Abbreviazione 
prima di un ciclo, 211- Abbreviazione del- 
la piastra del comando iniziale. 20- Ab- 
breviazione della piastra elettronica, 





assinforma 

presenta 

NOZIONI ELEMENTARI 

SUL PERSONAL COMPUTER 

/ corsi $ì ripetono 
con frequenza mensile 

20 ore di corso pratico per imparare 
ad usare e scoprire le potenzialità 
dei voslri PC. 

Centro slutìi Cambridge - T. 027496196 



assinforma 

presenta 

WORLD PROCESSING 

/ corsi si ripetono 
con frequenza mensile 

20 ore di corso pratico sol l'uso del W.P. 
scopriremo le possibilità 
del vostro computer 

Centro Studi Cambridge - J. 0274961*96 

r « 


assinforma 

presenta 

PROGRAMMAZIONE 

IN BASIC 

i corsi si ripetono 
con frequenza mensile 

40 ore di corso pratico 
per imparare a 
programmare sul P.C. 

Centro studi Cambridge - T. 0274961 96 



assinforma 

presenta 

MULTIPLAY 

/ corsi si npetono 
con frequenza mensile 

20 ore dì corso pratico sull'uso 
del loglio elettronico 

Centro studi Cambridge - T. 0274961 96 

-k. 

’ néc. assinforma 

presenta 

per aziende, studi, artigiani, 
commercianti e privati 

CORSI PRATICI SUL COMPUTER 

[corsi sono di breve durata 
e consentono l'aquisizione delle nozioni 
elementari per strutturare a fondo 
il vostro Personal Computer 

Centro studi Cambridge - T. 027496196 



Commodore Computer Club - 31 




S ìa che ti trovi sotto l'ombrellone* sia 
che ti riposi in un bosco, sia che sei in 
casa a studiare per settembre (ahia!) 
metti alla prova la tua confidenza col 
computer. 


Se possiedi un computer Commodore 
dovresti rispondere correttamente al po- 
mo gruppo di dicci domande ed al secon- 
do gruppo che riguarda il tuo personal in 
particolare. 

Più ne indovini, meglio t. Il consueto 
“punteggio” che viene abitualmente 
pubblicato alla fine di ogni quiz che si 
rispetti* nel caso presente non c T è. 


Se proprio ci tieni a determinare il 
punteggio relativo alla tua preparazione 
in fatto di computer c'è un sistema più 
semplice e.„ segreto: mettiti davanti ad 
uno specchio e fatti Tesarne dì coscienza 
(doppio ahia!). 

Avvertenza superflua: alle domande è 
necessario rispondere senza avere vicino 
il computer, ma semplicemente immagi- 
nando ciò che il computer risponderebbe 
digitando ciò che le domande richie- 
dono. 


32 - Commodore Computer Club 


GIOCHI 


Primo gruppo di 10 domande 

Nota bene: (R) = premere il tasto 
Return. 

1 - Provando a digitare: 

PRINT VIVA LA PAPPA (R) 
sì ottiene in risposta: 

a/ SYNTAX ERROR 
bf ILLEGAL GUANTITY ERROR 
c/ 0 

d / VIVA LA PAPPA 

2 - Lanciando i! seguente programma: 

IO GOSUB IO 

sé ottiene in risposta: 

a / Nessuna risposta perchè il programm 

a “gira*’ all'infinito. 

h/ Il Crash del sistema, 

c / ILLEGAL OUANTITY ERROR 

d/ OLITOF MEMORY ERROR 

3 - Eseguendo Ostruzione: 

PRINT CHRS( 10*20- 181) 
si ottiene come effetto: 

a/ Nessun effetto 

bf ILLEGAL QUANTITY ERROR 
e/ lì cursore sì sposta in alto a sinistra 
di Cambia il colore del cursore 

4 - Supponiamo che in una linea di un 
listato Basic figuri l’istruzione END. Ov- 
viamente, quando il programma la ^in- 
contra”, si ferma e compare la parola 
READY. 

Se a questo punto digitiamo COWT 
(R) si ottiene: 

a/ CAN’T CONTINUE ERROR 
bf ILLEGAL DIRECT ERROR 
c / Il programma continua l'esecuzione a 
partire dal l'istruzione successiva ad 
END. 

d / I! programma riparte nuovamente co- 
me se fosse stato impartito il comando 
RUN 

5 - In un listato Basic vie la seguente riga: 
100 INPUT A 

Se (alla comparsa del punto di doman- 
da tipico deiriNPU i ) rispondiamo pre- 
mendo un tasto alfabetico e il tasto Re- 
turn, succede che: 

a/ Il programma si ferma con un SYN 
TAX ERROR. 


bf Compare il messaggio REDO FROM 
START ed il programma si ferma, 
c / Compare ìì messaggio REDO FROM 
START e viene nuovamente posta la 
domanda. 

d / Alla variabile A viene associato il va- 
lore nullo ed il programma prosegue 
normalmente. 

6 - Allo scopo di visualizzare un listato d 
cento righe numerate da 100 a 20t 
digitate: 

LIST 100 - (100+100) (R) 

L’effetto che ne risulta è il seguente: 
a / SYNTAX ERROR 
bf Viene visualizzata soltanto la riga 100 
c/ Compare il listato e, subito dopo, un 
SYNTAX ERROR 

d / Viene effettuato il calcolo 100- 

( 100 + 100 ) 

7 - L’istruzione LET è poco usata dai 
Com modo nani perchè: 

a i Tale istruzione non esiste nel set di 

istruzioni Commodore. 

bf E' un'istruzione superflua. 

c / E' necessaria per definire funzioni 

matematiche molto rare. 

d/ Viene usata solo per trasmissioni via 

modem. 

8 - Nei computer Commodore vi sono 
due set di caratteri: Maiuscolo - minusco- 
lo; Maiuscolo - Semigrafico visualizzabili 
solo uno alla volta. E’ possìbile visualiz- 
zarli contemporaneamente entrambi? 

a/ No, mai. 

b/ Su ma ricorrendo alla tecnica della 
ride fi razione dei caratteri, 
c / Sì, a patto di costruirli uno per uno in 
alta risoluzione 

d/ Sì, ma rinunciando ai caratteri in Re- 
verse e ricorrendo alla programmazione 
dei caratteri. 

9 - Ricorrendo all'istruzione POKE è 
possibile, per errore, tentare di trascrive- 
re un dato in una zona di memoria ROM 
anziché RAM. L'effetto che ne risulta è 
il seguente: 

a / Si rischia di bruciare il circuito inte- 
grato ROM interessato al! .operazione, 
b / Si ottiene il Crash del sistema. 


cf L’Istruzione viene eseguita ma il dato 
non memorizzato. 

d / Compare il messaggio ILLEGAI 
OUANTITY ERROR. 

Kl - I! microprocessore dei computer 
Commodore "lavora” alla velocità di ol- 
tre un milione di operazioni al secondo. 
Col termine OPERAZIONE si intende; 
a / La singola istruzione del programma 
Basic, 

b / La singola istruzione di programma in 
Linguaggio Macchina. 
cj Ciclo macchina del microprocessore, 
d/ Calcolo di operazioni binane. 

Secondo gruppo di domande 

Commodore 64 

1 - Per programmare correttamente un 
suono è necessario settare nell'ordine: 

a / Volume, A/D, S/R, frequenza nota 
alta, frequenza nota bassa, tipo di onda, 
numero voce. 

b / Numero voce, frequenza nota alta, 
frequenza nota bassa, volume, A/D, S / 
R, tipo dì onda. 

cf Qualunque successione purché il tipo 
dì onda sia Fui timo POKE ddEimposta- 
zìone effettuata, 

d / Qualunque successione, purché il pri- 
mo POKE sia quello relativo al volume, 

2 - Per programmare uno Sprite sono 
necessari 63 byte ed è possibile, quindi, 
memorizzarne uno per ciascun gruppo di 
64 byte indicando al C -64 (mediante una 
POKE) il numero del blocco cui et 
rife riamo. 

Tenendo conto di quanto detto è pos- 
sibile (senza ricorrere a "trucchi" parti- 
colari) memorizzare uno sprite: 
a/ In una qualsiasi zona di memoria. 
bf Solo nell'area 49152 - 53248 
cf Al massimo fino a 16348 
d/ Ovunque purché ci si accontenti di 
sprite non multicolor, 

3 - Il reset software del sistema si ottiene 

con: 

a / SYS 49142 
bf SYS 64738 


Commodore Computer Club - 33 


GIOCHI 


e/ POKE0.0 
d/ NEW 

4 * Un vostro amico ha acquistato un 
C ommodore 64 modello Executive, Non 
vedete Torà di scambiarvi programmi e vi 
recate a casa sua con le vostre cassette 
ma* al momento di mettervi al lavoro, vi 
accorgete che: 

a / I due computer sono totalmente 
incompatibili. 

b/ Non è possibile caricare un program- 
ma da nastro perchè l’Executive non pre- 
vede il connettore del registratore, 
c/ Alcuni programmi sembrano non gi- 
rare correttamente. 

d/ Lo scambio dì programmi avviene 
regolarmente, 

5 - Un vostro amico possiede un compu- 
ter Sinclair Specrum e vi chiede di far 
girare sul vostro Commodore 64 i suoi 
programmi su nastro. Voi rispondete 
che: 

a / L'operazione è del tutto impossibile a 
causa delia completa incompatibilità dei 
due computer. 

b/ L'operazione è possibile solo per pro- 
grammi che richiedono una memoria di 
tóK RAM. 

e/ L’operazione è possibile perchè esì- 
ste, per Commodore 64, il programma di 
sì mutazione Spccfrom. 
d/ L 'operazione è possibile purché i pro- 
grammi siano scritti ìn Basic e non in 
Linguaggio Macchina. 

Commodore 16 

ì - La zona di memoria video dei C-I6 
occupa MXX) celle a partire dall'Indirizzo: 
a/ 1024 
b / 2048 
c/ 3072 
d/ 65536 

2 - Un programma scritto in Basic utiliz- 
zando un Commodore 64 ha molte pro- 
babilità di girare sul C-16 a patto che: 
a/ Non contenga istruzioni POKE, SYS, 
PEEK 

b/ Sia lungo almeno 20 lìnee Basic, 
c / Venga compilato. 


d/ Non contenga istruzioni PRINT e 
INPUT. 

3 - Un listato scritto con un Vie 20 oppure 
con un Commodore 64 può essere trasfe- 
rito sul C-16 tramite: 

a / Registratore, 
b/ Drive per minifloppy, 
c/ Connessioni elettriche tra i due 
computer, 

d/ Interfaccia RS-232 C 

4 - Prima di utilizzare le istruzioni grafi- 
che in alta risoluzione è necessario: 

a / Cancellare sia lo schermo "normale" 
sia quello in alta risoluzione, 
b/ Utilizzare l’istruzione GRAPHIC, 
c/ Colorare di nero il fondo ed il bordo 
del vìdeo. 

d / Ricorrere alle istruzioni GOSUB c 
COLOR, 

5 - lì tasto HELP serve per: 

a/ Rintracciare gli errori di program- 
mazione. 

h/ Per uscire dalle situazioni di pericolo 
tipiche dei videogiochi. 



cf Per seguire i corsi di auto-appren- 
dimento al calcolatore, 
d/ Ripristinare le condizioni iniziali ìn 
caso di Crash del sistema. 

Vie 20 

t - Por riprodurre gli sprite col Vìe 20 è 
necessario: 

a / Aggiungere una scheda di espansione 
di memoria. 

b / Aggiungere una particolare scheda 
grafica prodotta dalla Commodore, 
c/ Non è possibile generare sprite col 
Vie 20. 

d/ Utilizzare un monitor invece di un 
televisore. 

2 - Per cambiare colore al bordo e al 
fondo dello schermo c necessario utiliz- 
zare le locazioni: 

a / 36879 per il bordo e 36880 per il 
fondo. 

bf IL nibble alto di 36879 per il fondo e 
quello basso per il bordo, 
c/ Il contrario della risposta b. 
d / fi contrario della risposta a, 

3 - Il reset software del sistema si ottiene 
con: 

a/ Tasto Run/stop e Restore. 
bf SYS 64802 
c/ SYS 64738 
d / NEW 

4 - Col Vie 20 senza epansionì non è 
assolutamente possibile: 

a / Utilizzare il drive per minìfìoppy. 
b / Utilizzare il joystick 
zj Lavorare in linguaggio macchina 
di Far girare programmi più lunghi dì 
3K, 

5 - Prima che uscisse di produzione, il 
prezzo ufficiale, I V A, esclusa, dì listino 
del Vie 20 (versione base) era dì lire: 

a f 225CXXJ 
h/ 199000 
d 169000 

d / 99 dollari perchè nel listino ufficiale il 
prezzo è sempre espresso in dollari. 

Le risposte sono a pag. 80 


34 Commodore Camput ir Club 


L’ UTILE 

COMMODORE 64 



«diamo come un programma BASIC è 
me m orinato nella RAM del Cervellone 
oh, pardon, del Computer. Il primo byte è 
posto a zero, valore che corrisponde alla 
fine linea BASIC; t successivi 2 byte ser- 
vono da puntatori all'Indirizzo della linea 
seguente (per linea mi riferisco sempre a 
quella BASIC), gli altri 2 byte successivi 
corrispondono al mimerò di linea, con la 
classica legge del byte basso, byte alto. 
Seguono poi le istruzioni Basic (ovviamen- 
te Tokenìzzate*), con alta One un byte a 
zero, che come già detto indica la fine del- 
la linea. 

Di tutto questo interessano soprattutto 
il secondo e terzo byte (vedi Fig, I). Infatti 
quando diamo il comando NEW, il calco- 
latore azzera queste due locazioni di me- 
moria per il semplice motivo che Ire zeri 
consecutivi — per il Calcolatore stanno 
ad indicare la fine del programma. 

Vengono inóltre reini zia! «zzati i punta- 
tori di pagina zero che contengono gli indi- 
rizzi di inizio e fine programma Basic, di 
inizio zona variabili e di inizio stringhe 
(dal 45 al 52 vedi manuale CBM 64), 

A questo punto credo sia chiaro che per 
ritrovare il programma scomparso (ELlcry 
Queen non c'entra} basta riuscire a riposi- 
zionarc il secondo e terzo byte dei pro- 
gramma e a riportare ai valori precedenti i 
puntatori di pagina zero interessati, 

È proprio quello che +s OLD” fa. 

Viene prima ricercato lo zero indicante la 
fine della prima linea (escludendo ovvia- 


Come recuperare un 
programma Basic 
perso per un 
accidentale New o a 
causa di un ‘ crash 3 
del sistema. 


mente ì primi tre), dopodiché si scrive f in- 
dirizzo successivo nei 2 byte che erano sta- 
ti azzerati dal NEW (byte basso, byte al- 
to), Fatto questo, viene la parte più lunga 
del lavoro (ma a noi non interessa, perché 
il lavoro lo la ‘Cervellone): bisogna infatti 
ricercare la fine del programma "saltando 1 
di indirizzo in indirizzo fino a che non tro- 
viamo tre zeri consecutivi. È questo T indi- 
rizzo che dobbiamo immettere nei punta- 
tori Basic sopra detti ed avremmo finito. 

J? uò comunque aiutare per comprendere 
quanto detto far riferimento al listato As- 
sembler. in esso vengono usati, come pun- 
tatori temporanei, 4 byte di pagina zero 
che, grazie a 'Mamma Commodore', non 
vengono usati dal Sistema, 









LINK 

LENK 

rfA 

m 

ISTRUZIONI 


F° BYTE 


II* BYTE 




V 


numero 

DI LINEA 


FINE 

LINEA 


il I* BYTE 


FIG,1 


Commodore Computer Club ■ 35 


LUTILE 


VEDUTA POSTERIORE C6M 64 


RG.2 



Come si usa 

Per filli tizzo del Programma OLD ba- 
sta, dopo aver digitato il listato BASIC {ed 
averlo registrato, non si sa mai*}, dare il 
RUN ed eseguire le istruzioni per lo stesso 
programma. Infatti oltre a porre in memo- 
ria la routine LM di OLD, viene anche 
scritta una routine che salva su nastro o su 
disco OLD stesso. 

A questo punto non resta che, quando se 
ne ha il bisogno {in caso di NEW acciden- 
tali), caricare in memoria OLD nel se- 
guente modo: 

load “old'\ 8, 1 se da disco 

ioad “old", 1, 1 se da nastro 

e, alla fine del caricamento, digitare 


"SYS 531 1 0' seguito dal RETURN. 

13 a notare che se viene usalo il registra- 
tore come memoria di massa si può omet- 
tere il T, V nel caricamento in quanto il 
programma viene salvato in maniera tale 
che non venga rilocato. Bisogna stare at- 
tenti a non commettere errori durante la 
fase di digitazione dei comandi per carica- 
re e far eseguire il programma OLD, per- 
chè se ottenessimo un malaugurato 
SYNTAX ERROR dovremmo dire AD- 
DIO al nostro listato Basic. Questo per- 
ché un tale errore sconvolge la RAM dove 
risiede il programma Basic rendendo im- 
possibile un suo recupero! All'inizio del- 
V articolo ho detto che era possibile far 'ri- 


sorgere' il programma Basic anche in caso 
di ‘crash 1 del sistema (causato ad esempio 
da una sys errata), e mantengo la promes- 
sa. 

In caso di "crash' bisogna fare in modo di 
spegnere la macchina e riaccenderla senza 
toglierle V alimentazione. 

Come si può farlo in una macchina che, 
come il CBM 64, non possiede un tasto di 
RESET? Occorre portare a massa il terzo 
PIN della USER PORI, che guarda caso è 
il PIN di RESET. 

In pratica basta far contatto con del ma- 
teriale induttivo tra il 1 e il 3 PIN della 
USER PORT- Tanto per intenderci si im- 
magini di vedere il CBM 64 da dietro e si 
faccia riferimento alla Figura 2. 


! 000 

; * 

1010 

r ajLr 

> ♦ 

1020 


1030 

;* 

1040 


1050 

;# 

1060 

; * 

1070 

;# 

1 080 

* yU i 

1090 

; * 

1 1 00 

> # 

1110 


1120 


1180 

;# 


OLD 

PERMETTE HI RECUPERARE UN 
PROGRAMMA BASIC DOPO IJN 
ACCIDENTALE COMANDO DI "NEW 


DI 

DERNI GIOVANNI 


* 

* 

* 

* 

* 


* 

* 

è 

* 


36 - Commodore Computer Club 



1200 




1210 




1220 



- 

123G 




1240 

*=53 

illO 

;ESR ÌCF76 

1250 

ENEA 

lS=*2D 

i PUNTATORE FINE BASIC 

1266 

RAM- 

$0800 

; INIZIO RAM BASIC 

1270 

RR I UT =$AB 1 E 

; ROUTINE STAMPA 

1280 1 ' 

LEV 

#5 

, RICERCA PRIMO ZERO 

1290 LOOP! 

LEA 

RAM , V 


1 300 

BEQ 

ZERO 


1310 

I NV 



1320 

BUE 

LGOPl 


1330 

RTh 



1346 ZERO 

IHV 


; POSIZIONA I PRIMI ELIE 

1350 

STV 

RflM+1 

;evte bel programma 

1360 

LEIT 

#8 

; ALL/ INDIRIZZO SUCCESSIVO 

1370 

STA 

RAM+2 

; ALLO ZERO TROVATO 

1330 




1390 

LEV 

#8 

; RICERCA FINE PROGRAMMA 

1400 

LDX 

#1 


1410 

STX 

#FB 


1420 

STV 

$FE 


1430 L00P2 

LDX 

$FB 


1440 

LEV 

$FE 


1450 

STX 

$FE 


1460 

STV 

$FC 


1470 

LEV 

#0 


1480 

LEA 

(TFB> , V 


1490 

STA 

tFE 


1500 

I NV 



1510 

LEA 

<TFB ) ,V 


1520 

STA 

$FE 


1530 

BNE 

LOOP2 


1540 

LEA 

$FD 


1550 

BNE 

L00P2 


1560 

LEA 

$FE 

TROVATA FINE PROGRAMMA 

1570 

CLC 



1 5S0 

RDC 

#2 


1590 

BCC 

EXIT 


1600 

INC 

$FC 


1610 EXIT 

LEV 

$FC 


1620 

STV 

ENBAS+1 

; POSIZIONA PUNTATORI 

1630 

STV 

EHEA3+3 


1640 

STV 

ENBAS+5 

; INIZIO VARIABILI 

1650 

STA 

ENBAS 

; INIZIO STRINGHE 

16S0 

STA 

ENBA3+2 

iFIHE BASIC 

1670 

STA 

ENBAS+4 


1680 




4630 

ì tifi 

*<MSG 

; STAMPA MESSAGGIO 


Commodore Computer Club - 37 






Teo Rusconi ha appena 
sfatato la leggenda 
secondo la quale i floppy disc 
sono tutti uguali 


Difatti sembrano tutti uguali finché non 
si osserva con attenzione ìì jacket, Qui 
termina fuguaglianza. 

La maggior parte delle società costruttrici 
sigillano i dischi un punto qui, un punto là, 
lasciando parte dei lembi non sigillati. 

Prima o poi ai lembi accadono cose 
naturalissime: si gonfiano, si curvano, si 
raggrinzi sco no... in poche parole si aprono* 


GU ALTRI DISCHETTI 

chiudi un panln dui, 
un punto Ih lasci ano 
gran pant dii 

lembi aperti. _ 


DISCHETTI MEMOREX 

cori lembi compLmirìtni* 
saldali su tutta 
Ih superficie. 


È un sistema che consente al floppy disc 
di sostenere ogni assalto, che impedisce alla 
testina di rovinarsi e ai dati di andare perduti. 

Il che sta a dimostrare che un floppy disc 
Memorex non è uguale a tulli gli altri: è 
migliore. E il sistema di saldatura c solo un 
esempio della cura infinita con cui viene 
prodotto ogni floppy disc Memorex; sia 
esso da 8”, da 5 1/4” o il nuovo 3 1/2” 
Questa estrema accuratezza dà la garanzia 
che ogni disco Memorex è al 100% perfetto* 

La prossima volta che acquistate un 
floppy disc - o qualche centinaio ^ - i 
- ricordate: non tutti i dischetti 
sono uguali... 

Memore a vi mette al 
riparo da qualsiasi 
inconveniente. r|HJ 


Con penne, matite, unghie persino un 
ragazzino di quattro anni come Teo può 
infilarsi in quegli spazi apeni* 

Naturalmente è un danno enorme perchè 
se si inserisce qualcosa di molle e slabbrato 
nel disc-drive quest’ultimo può incepparsi; 
si può rovinare la testina e si possono 
perdere i dati . Questo può accadere con gli 
abituali sistèmi di chiusura ma non con i 
dischetti Memorex che usa un 
procedimento esclusivo chiamato 
^Solid-Scam Bonding”, 

Con questo sistema ogni sìngolo 
millimetro quadrato dei lembi dì tutti ì 
dischi Memorex viene sigillato 
ermeticamente, rendendoli più rigidi e più 
resistenti. 


è importante 


BUFI FLQUGH S-M EMOREX $.P. A . 
Dfvi tiarlo Computar Media 

Via Ciro Manotti. 14 Tel. G2/7135S1 
20129 MILANO MI 


A Burroughs Company 










Concessionari 
Memorex 
Computer Media 

COMPUTER MEDIA 

10138 TORINO 

Via Susa. 37 -Tel. 011/442261 - 
441027 

CO. FIN 

13051 BIELLA (VC) 

Via Repubblica. 33 - Tel. 01 5/30237 

GIORGIO BRUZZONE 

16152 GENOVA 
Via Col di Lana, 5/19 
Tel. 010/410719 

LOGOTEC 

20131 MILANO 

Via Paci ni. 72 - Tel. 02/292677 - 
235539 

GASP! 

20131 MILANO 

Vra Pecchie. 1 - Tel. 02/225806 

IL COMPUTER 

26041 CASALMAGGIORE iCRj 
Via Pozzi. 13 - Tel. 0375/41564 

DAL GIN ELIO 

31015 CONEGUANO VENETO (TV) 
Via Manin. 59/ A - Tel. 0438/63144 

R.ErSrCrO. 

35027 NOVENTA PADOVANA l'PDj 
Via Polatì, 6 - Tel. 041/415886 - 
926988 

CHI-BO 

43100 PARMA 

Borgo Antini. 3/G - Tel. 0521/207404 

TRADER LINE 

40133 BOLOGNA 

Via Batt indarno, 12 - Tel 051/380255 

IL CENTRO EDP 

47100 SAN LEONARDO - FORLÌ 
Via Arme limo, 19 - Tel 0543/728091 

INFORMATICA 

57100 LIVORNO 

Via Scaiii deqli Olandesi. 54 

Tel, 0586/30022 

RIGHETTI 

06100 PERUGIA 

Via XX Settembre. 70 

Tel. 075/6100072 - 6100226 

PRISMA 

60127 ANCONA 
Corso Carlo Alberto, 12 
Tel. 071/899282 

MEMORY LÌNE 

00162 ROMA 

Via Nonientana. 224 

Tel. 06/8320040 - 8320434 

SYNCRON DATA 

84100 SALERNO 
Via Paolo de' Granita, 14 
Tei. 089/241410 

BYTFS HOUSE 

90144 PALERMO 

Via Vann'Anto, 28 - Tel. 091/291154 


è importante scegli 



A Burroughs Company 



CopyTtjltl 1 É Wall |JÌMK\ PrrnJu. : 


fiutte grìglia elettronica, prrwharu non bisogna tm-rudaftk olire moto. Succede net %itieognunes. lieti diverto le fiutino} 
Sarebbe trovarsi ah' interna di ima (Mie mata, t? quello che succede & Fhnn. d piotti&mìma dt Triti i Che però alla fine -si 
siih'ti, lj j danni degli altri da*' contendenti, il lieto fine t obbligatorio. 


■H 






1 REM **$***4-* ******$##:![******£ 


2 REM * OLD * 

3 REM * DI t 

4 REM « BERMI GIOVANNI f 

5 REM * * 

S REM * TEL . 0584720670 * 

7 REM * V1508S47CBM 64 * 


8 REM ************************* 

9 : 

10 ME =6 79 l 1=0 : J=0 

20 PRINT CHR*< 147); "ATTENDI ...■ 

30 READ A ! IF A<0 OR A>255 T 
HEN ON SGN< A ) +2 GOTO 50,, 70 

40 POKE ME+J , A i I = I +A i J=J+1 : 
GOTO 30 

50 IF I+AO0 THEN PRINT "ERRORE 
DATA SAVE" : STOP 

00 ME =53110 : 1=0 5 J=0 s GOTO 30 
70 IF loft THEN PRINT "ERRORE D 
ATA OLD" : STOP 

30 PRINT CHR*< 147); "SALVI SU <N>AS 
TRO 0 SU <0>iSCD I INPUT DE 

* 

31 IF OE* = "N'' THEN POKE 683, 1: 
GOTO 35 

82 IF 0E*O"D” THEN 80 
35 SYS 679 : REM <C) BEAMI GIOVAN 
NI 


714 DATA 076,068,-5292 
1000 ; 

1010 REM DATI PROGRAMMA ‘OLD’ 

1020 : 

531 10 DATA 160,005,185,000,008,240,0 
04 

53117 DATA 200,208, £48, 036 ,200, 140,0 
01 

531 £4 DA TA 008, 169, 003, 141 ,002,008, 1 
60 

53131 DATA 008, 162,001 , 134 ,253 , 132 ,2 

54 

53133 DATA 166,253,164,254,134,251,1 
32 

53145 DATA 252, 160,000, 177,251 , 133,2 
53 

53152 DATA 200,177,251,133,254,208,2 
35 

53153 DATA 165 ,253 ,£08 ,23 1 , 165,251,0 
24 

53166 DATA 105,002,144,002,230,252, 1 

64 

53173 DATA 252, 132, 046, 132, 048, 132,0 
50 

53180 DATA 133,045,133,047,133,043,1 
68 

53187 DATA £01 , 160,207,076,030, 171 , 1 
47 


87 

88 
500 
510 
520 
679 


686 

693 

700 

707 


PRINT i PRINT "FATTO !” 

END 

V 

■ 

REM DATI ROUTINE 'SAVE’ 

* 

■ 

DATA 169,003,163,162,008,032,1 
36 

DATA 255,169,003,162,201,160,0 

02 

DATA 032,189,255,162,118,160,2 
07 

DATA 134,251,132,252,169,251,1 
62 

DATA 000, 160, 208, 076, 216, £55,0 
79 


53194 DATA 01 7, 032, 083, 084, 065, 073,0 
32 

5320 1 DATA 065,084,084,069,078,084,0 
79 

53208 DATA 032,076,065 ,032,080,082,0 
79 

53215 DATA 083,083,073,077,065,032,0 
36 

53222 DATA 079, 076, 084, 065, 032, 033, 1 
41 

53228 DATA 14 1 ,03£ ,07 1 ,046 ,066 ,069 ,0 
65 

53236 DATA 078,073,032,052,047,057,0 
47 

53243 DATA056,052, 141, 15371 


40- Commodore Computer Club 



DIDATTICA 

QUALSIASI COMPUTER 


Come Realizzare 

un Menu ’ 


T 

a prima cosa che si trova sul tavolo, di 
un ristorante, è il menù: un libretto sul 
quale sono secate tutte le ‘specialità” 
della casa ed in base al quale si farà La 
propria scelta * mangereccia’* 

Nel linguaggio deir informatica, il me- 
nù ha lo stesso significato (con un po' di 
elasticità mentale...). E' urta lista di 
“compiti", che il programma è in gra do 
di assolvere, tra i quali possiamo scegliere 
Con la semplice pressione di un tasto, 
Scopo di questo articolo è appunto 
quello di spiegare come si può ‘creare” un 
menù, passo dopo passo. Come esempio 
supponiamo di voler fare un programma 
che si occupi, dato un lato, dì calcolare 
l'area di un quadrato oppure di un trian- 
golo equilatero. In effetti, il compito del 
programma può sembrare banale, ma 
non vedo perchè complicarsi la vita (e la 
digitazione) con programmi più eom ples- 
si, di difficile comprensione e di... identi- 
che finalità!. 

Le formule usate, saranno le seguenti: 
Area quadrato: lato X lato 
Area triang. eq.: lato X lato X sqr(3)/4 
in figura 1, è illustrato il diagramma a 
blocchi che mostra lo schema principale 
del programma. 

Vediamo ora come realizzare, blocco 
per blocco, le singole parti del 
diagramma. 

Visualizza il menu 

C onte prima istruzione, digitate la se- 


Tutti gli ingredienti, i 
trucchi ed i 
suggerimenti per 
inserire nei vostri 
programmi la 
possibilità di scelta 
tra numerose 
opzioni. 



guente linea: 

100 PRIN'T CHR$(147). 

Ora provate a dare il ‘■RUN 1 : lo scher- 
mo sì azzera (—si cancella) e, in alto a 
sinistra, compare la scritta 1 RE ADY % a 
conferma che il programma è stato ese- 
guito, L’istruzione CHR$(147), precedu- 
ta da PR1NT, fa comparire sullo schermo 
quel carattere ASCII corrispondente al 
valore X assegnato. Nel nostro caso, il 
valore 147 corrisponde all’ azzeramento 
dello schermo, cioè, in pratica, è l'equi- 
valente di ciò che si ottiene premendo 
contemporaneamente i insti (SHIFT) e 
(CLR - HOME). 

Se sostituite il valore 19 al posto di “X" 
in CHR$(X), ottenete l'equivalente del 
tasto ( CLR - HOME): il cursore sì sposta 
in alto a sinistra, senza azzerare io 
schermo. 

Continuiamo il nostro programma, di- 
gitando ora le linee: 

110 PR1NT‘* QUADRATO r 
120 PR INT* TRIÀN.EQ* 2'’ 

dove i numeri 1 e 2 saranno i tasti da 
premere per ottenere il calcolo relativo 
alla figura geometrica desiderala). 

Per vedere cosa succede, date tranquil- 
lamente il ‘RUN 7 : in alto a sinistra com- 
pariranno le scritte “QUADRATO I” e, 
sotto, 'TRIAN.EQ. 2\ Questo sarà il no- 
stro menù. In effetti, la visualizzazione 
del menù deve anche soddisfare certe esi- 
genze di carattere estetico (molto sogget- 
tive!), per cui modificate le tre linee scrit- 
te finora nel seguente modo: 


Commodore Computer Club -41 


DIDATTICA 


START 



Usura t 


1 1N) PRINT CHR$( 147} CHRS( 17) 
CHR$( 17) CHR$< 17) 

1 IO PRINT SPC( 12} * SQUADRATO * 1 ’ 
M CHR$(18)" 1 “CHR$(17> 

120 PRINT SPC{ 12) “TRJAN. EQ." 
“HR$(l8r 2“CHR$(17) 

Da quanto potete vedere, si sono intro- 
dotti altri due valori X in CHR$}X). Il 
valore 17 è l'equivalente del tasto (CRSR 
- giù): in questo modo, nella linea 100, 
oltre ad azzerare lo schermo, si dice an- 
che ai computer di saltare tre righe TI 
secondo valore, 1$, fa siche tutte le scritte 
e gli spazi tra virgolette che lo seguono, 
saranno stampate nel modo “REVER- 
SE" (in negativo). Nei nostro caso, saran- 
no stampati in reverse i numeri 1 e 2, 
avvolti tra due due spazi anch'essi in re- 
verse* Dal punto di vista estetico, questo 
tipo di scrittura è molto usato e, fra Pai- 
tro, mette bene in evidenza i tasti da pre- 
mere per ottenere l’opzione desiderata. 

L' ultimo comando da analizzare in 
questa prima parte, è SPC( 12). Se date il 
RUN, vi accorgerete da soli dell'effetto di 
questa istruzione! Ora !e scritte non sono 
più visualizzate al margine sinistro dello 
schermo, ma sono spostate da esso di 12 
caratteri (per fare altre prove potete cam- 
biare questo valore con altri a vostro 
piacere}, 


E f Ovvio che, come detto in preceden- 
za, la gestione della schermala di ‘menù’ 
è soggettiva, perciò, con l'aiuto dei pochi 
comandi visti finora, potete sbizzarrirvi a 
stampare le scrìtte come volete! L'unica 
Cosa che vorrei sottolineare, è che i co- 
mandi CHR$(X) e SPC(Y) devono sem- 
pre essere preceduti da PRINT, altrimen- 
ti si ‘cade' in un SYNTAX ERROR. 

Scelta 

Dopo aver visualizzato il menù, dob- 
biamo, far capire la nostra scelta ai com- 
puter: cioè dobbiamo dialogare, tramite 
qualche istruzione, col computer stesso* 
incum ine mnm c«u la linea: 2U0 INPU T 
R dove R sarà ta variabile che conterrà la 
nostra risposta: se vorremo il quadrato, 
premeremo il tasto 1 (e, subito dopo, RE- 
TURN) e la variabile R assumerà di con- 
seguenza il valore 1, mentre se vorremo il 
triangolo, premeremo il tasto 2, e la va- 
riabile K assumerà il valore 2* 

Se ora fate girare il programma, sotto il 
menù comparirà un punto di domanda e 
di fianco il solito cursore lampeggiante: 
questue l'effetto dell'istruzione INPUT* 
Di seguilo, quando il programma in- 
contra una INPUT, è di fermarsi, stam- 
pare il “?’\ ed aspettare una risposta, 


che deve sempre essere seguita dalla pres- 
sione del tasto +RETURN. 

urne prova, digitate I (o un altro nu- 
mero) e premete il fasto RETURN (ope- 
razione che d'ora in poi chiameremo sem- 
plicemente: (RET): sullo schermo com- 
parirà il consueto READY, ad indicare 
l'avvenuta esecuzione del programma, 
Una volta scelta l'opzione, il computer 
deve essere in grado di identificarla e di 
comportarsi di conseguenza. Questo può 
essere fatto con istruzioni di tipo "logi- 
co", che permetteranno al nostro “cer- 
vellino elettronico" di agire in un modo 
oppure in un altro (ricordatevi sempre, 
comunque, che la logica è nostra, non del 
computer: siamo noi che stabiliamo quel- 
lo che deve fare!)* 

L’istruzione atta a tale scopo, è 
IF*,THEN: in pratica, dice che SE (IF) è 
verificaia una certa condizione, ALLO- 
RA (THEN) fai una certa cosa. Se la con- 
dizione non è verificata, il programma 
continua normalmente, elaborando, 
cioè, la linea Basic successiva, senza 
preoccuparsi deU'IF.,THEN. 

Nel nostro caso, dobbiamo scegliere tra 
il quadrato (R— 1) oppure il triangolo 
{R=2}: possiamo farlo nei seguente 
modo: 

210 IF R=l THEN GOTO 500 

220 IF R=2 THEN GOTO 600 

■ 

* 

* 

w 

500 PRINT “QUADRATO": END 
600 PRINT “TRIANGOLA END 

La linea 210 dice: se R=l, allora vai 
alla linea 500, dove una routine si occupe- 
rà di eseguire le operazioni sul quadrato* 
La linea 220, è analoga. 

In questo modo, abbiamo visualizzato 
il menù ed operato la nostra scelta. Ma è 
ancora troppo poco: un programmatore 
deve prevedere anche i possibili errori 
che si possono compiere nei dialogare col 
computer. 

L'errore piu banale, a questo punto, è 
quello dì digitare un numero diverso da 1 
o 2: in questo caso, non verificandosi nes- 
suna delle due condizioni (R^l oppure 
R=2), il programma fallisce 
miseramente* 


42 - Commodore Computer C idb 






Quindi bisogna prevedere che se K è 
diverso da 1 o da 2» occorre tornare indie- 
tro e ripetere la risposta: si può ottenere 
ciò con la linea 

230 IFR < > I ANDR < >2THEN20O 

Se R è < > 1 (diverso da I) e contempo* 
rancamente (AND) < > 2, allora ritorna 
alla linea 200, Tino a che la risposta non è 
“accettabile” (I oppure 2), Provate ora a 
dare il solito RI'N: rispondendo con 1 
otterrete la stampa della parola 
QUADRATO; premendo 2, otterrete 
TRIANGOL. 

Se poi premete* ad esempio* 3, otterre- 
te di nuovo il ?* cioè il computer sta aspet- 
tando ancora la risposta esatta* Dopo 
ogni prova positiva il programma si “fer- 
ma” (READY.) e dovete di nuovo dare il 
RUN, 

Provate ora a premere, invece di un 
numero* una lettera qualsiasi: non vedre- 
te comparire il solito READY ma la scrìt- 
ta REDO FRGM START e sotto* di nuo- 
vo il punto di domanda (?). Finché digite- 
rete lettere* otterete sempre la stessa 
scritta* In effetti* il programma non si 
‘blocca’ {non segnala errori)* ma riceve 
una risposta che non si aspettava (carat- 
tere alfabetico invece che numerico) e ri- 
sponde* quindi* con un ‘ripetere 
dall'inizio’. 

Di seguito se siete stufi del messaggio 
REDO FRQM START* digitale pure un 
numero e tutto proseguirà normalmente, 

P 

A . er capire cosa e successo* occorre 
spendere due parole sulle “variabili”* os- 
sia sui dati che introduciamo e che ci con- 
sentono il ‘dialogo’. 

Queste sono essenzialmente di due tipi: 
variabili numeriche e variabili alfanume- 
riche, Le variabili numeriche come del 
resto dice il nome* sono variabili di tipo 
numerico, ammettono cioè solo numeri. 

Si possono indicare con lettere tipo R* S, 
AA* Ai* eie, escludendo le var* ‘vietate’ 
(vedere art* ‘Sìntax Errori sul num, 17), 
Le variabili alfanumeriche* ammettono* 
oltre ai numeri* anche ìe lettere e i carat- 
teri grafici* trattando tutto come caratte- 
ri (anche i Numeri!): sì indicano con lette- 
re seguite dal simbolo del dollaro ($). Dia- 


mo alcuni esempi: 

Var. Numeriche Var. Alfanumeriche 

A = IO A$= “PIPPO” 

AA= 1.8 AAS— “PLUT2034” 

A2-.01 A2S= “12348” 

(un discorso piò approfondito* sarà Tatto 
in seguito) 

Tornando al nostro programma, nella 
linea 200 avevamo scritto INPUT R, dove 
R è una variabile numerica. E’ ovvio* a 
questo punto* die se noi inseriamo una 
lettera al posto di un numero* il computer 
ci segnala che non capisce cosa stiamo 
facendo e ci ‘prega’ di ripetere. 

Sappiamo tutti, che lavorando sulla ta- 
stiera* è molto facile Toccare’ per sbaglio 
un tasto che non “c’entra”! Si può preve- 
dere questo tipo di errore e corregerio* 
sostituendo la variabile R con la variabile 
R$: cioè risponderemo con un carattere 
anziché un numero. In questo modo, fra 
l’altro* avremo a disposizione (per la no- 
stra programmazione) praticamente tut- 
ta la tastiera e non solo i 10 numeri (da 0 a 
9 ). 

Quindi* modifichiamo le ultime lìnee 
nel seguente modo: 

200 INPUT R$ 

210 IFR$= “1” THEN 500 
220 IF R$= “2” THEN 600 
230 IF R$< > “1” AND RS < > “2” 
THEN 200 

(dopo il THEN, non c’è bisogno del 
GOTO) 

L’unica differenza con le precedenti 
linee è che ora PI e il 2 sono tra virgolette 
{”): per quanto detto precedentemente, 
PI e 2* sono trattati, come caratteri alfa- 
numerici e non più come semplici nume- 
ri, Quindi fatte le modifiche* potete tran- 

p 

qu illa mente premere t utti i tasti che vole- 
te senza “rovinare” nulla. 

Sembrerebbe così, che anche la parte 
‘scelta’ sia terminata: chi non si accon- 
tenta avrà notato però come l’istruzione 
INPUT sia in grado di rovinare la scher- 
mata del ‘menù’* riempiendo il vìdeo* in 
caso di errori* di punti di domanda, 

Esitono* ovviamente, metodi per tene- 
re lo schermo ‘ pulito* (essenzialmente 
consistono nel far tornare il cursore del- 
I 1 INPUT sempre nella stessa posizione)* 
ma* credetemi* non ne vale pena! Senza 


nulla togliere all’istruzione INPUT (che 
dà notevoli vantaggi in altri casi), penso 
sia meglio ricorrere, per scegliere un’op- 
zione del menù* all’ istruzione GET. 

Provate subito questa linea: 

1000 GET R$ 
e battete: 

RUN 1000 (RET). 

Vedrete comparire* istantaneamente* 
READY: sullo schermo non è comparso 
nessun punto interrogativo (?) e non c’è 
stata alcuna attesa; il programma, come è 
iniziato, è già finito! Ecco dunque una 
prima differenza. Quando il programma 
g ira e incontra un’Istruzione GET* se in 
quel momento è stato premuto un tasto 
accetta la variabile* attrimente prosegue. 

La tecnica per far attendere il compu- 
ter fino alla pressione di un tasto, è la 
seguente: 

1000 GET R$: IF R$T““ THEN 1000 

Ora, se R$ coincide con un ‘niente’ (tra 
le virgolette, poste l’ima dopo l’altra, non 
c’è alcun segno), il programma ritorna 
sulla linea stessa fi nebè non verrà premu- 
to un tasto, permettendo al programma 
di proseguire- 

Per il C 16, la linea 1000 può essere 
sostituita dalla seguente:: 

1000 CETRE Y R$ 

u n 'altra differenza tra INPUT e GET, 
è data dai fatto che Input accetta le varia- 
bili dopo che il tasto (RET) è stato premu- 
to, quindi variabili costituite anche da piu 
lettere (o numeri), mentre GET preleva 
direttamente i caratteri mentre vengono 
premuti (se si dovessero usare variabili di 

i 

più caratteri, adora diventa più comples- 
so l’uso di GET ai posto di INPUT, 

Visto che si sta parlando di differenze* 
ce n’è un’altra che consiste nel fatto che se 
volete uscire dal programma quando sie- 
te in un istruzione GET* basta premere il 
tasto RUN/ STOP e il programma sì fer- 
ma; se invece siete in un’istruzione IN- 
PUT, la pressione del solo tasto RUN/ 
STOP non è sufficiente. Occorre preme- 
re* contemporaneamente, anche il tasto 
RESTORE. 

Tornando alla nostra ‘scelta’* ecco co- 
me modificare le lìnee da 200 a 230 con 


Commodore Computer Club - 43 


DIDATTICA 


*- 


ruwdiGET: 

200 GET R$ 

210 |FR$=“1” THEN 500 


220 IF «$=*‘2” THEN «00 
230 GOTO 200 


(le linee 210 e 220 son sempre le stesse) 
Nella linea 200 abbiamo sostituito il 
GET al posto delPINFUT, Se le condizio- 
ni dì 210 e 220 non sono verificate, il 
programma arriva in 230 e da qui ritorna 
a 200 finche la pressione del tasto ‘corret- 
to’ non lo farà uscire da questo *LOOP’, 
Operando in questo modo, editiamo an- 


che i ciclo di attesa di linea 1000. 

A questo punto, abbiamo visualizzato il 
menù e abbiamo la possibilità di scegliere 
l'opzione senza rovinare la schermata. 


Non ci resta che costruire le routines 


‘operative’. 

Un altro modo per vedere ciò che ab- 
biamo Tatto finora, è quello di osserv ane il 
seguente schema che non è un program- 
ma, ma una schema tizzazionc del pro- 
gramma prima esaminato: 

100 VISUALIZZA MENU’ 


* 

V 


200 SCELTA 

210 SE 1 SALTA AL QUADRATO 
220 SE 2 SALTA Al, TRIANGOLO 
230 SE NIENTE, OPPURE ERRORI, 
TORNA ALLA SCELTA 


500 ESEGUE QUADRATO 

510 RITORNA MENU’ 

■ 

* 

600 ESEGUE TRIANGOLO 
610 RITORNA MENU’ 

Tenendo presente tale schema, riscri- 
verò, per comodità, tutto quello che è 
Stato fatto finora. Voglio precisare una 
cosa: le lìnee 510e 61Q, rimandano U pro- 
gramma all'inizio, in modo da poter con- 
tinuare senza dover sempre ribattere 
RUN dopo ogni calcolo.: 

Se RS^ u r\ il programma salta alla 
linea 500 (routine Quadrato). I»a prima 
cosa che succede, è che si azzera lo scher- 
mo e compare la scritta “QUADRATO”. 
La linea 5 10 ri rimanda al menù. La linea 
505 serve come ‘I nte rrut to re* tra 500 e 


510: il programma non passa in 510 fin- 
ché non è stato premuto un tasto qualsia- 
si, Questo ‘interruttore 1 è stato costruito 
come la linea 1000 vista in precedenza: è 
indispensabile agire così perchè, una vol- 
ta operata la scelta da menù, il program- 
ma salta al quadralo oppure al triangolo e 
senza interruttore, ritorna immediata- 
mente al menù. 

Provate, comunque, a cancellare le li* 
dee 505 e 605 e osservate la differenza. 

Di seguito ricordiamo che per cancella- 
re una Lìnea BASIC è sufficiente digitare 
il suo numero e premere il tasto 
RETURN. 

Routines quadrato e triangolo 

Occupiamoci ora di come risolvere il 
problema del calcolo delle aree. 


E* necessario predisporre un INPUT 
che ‘riceva’ il valore del lato (per entram- 
be le routines). Se guardate la Fig. 2, 
vedrete come il problema è stato risolto. 
E’ bene tener presente che alle righe del 
listato di figura 2 vanno aggiunte le righe 
da 100 a 230 del programma finora visto. 
La maggior parte delle istruz ioni sono di 
carattere ‘frivolo’: servono solo a centra- 
re i vari messaggi ed a rendere la scher- 
mata elegante fi). Una volta apparso il 
risultato, per non fario scomparire Im- 
mediatamente col ritorno al menù, ho in- 
serito T interruttore’ di fmea SOS (che ora 
diventa 570), Osservate la linea 520 (o 
630), che riporto per comodità: 

520 INPUT “LATO ” 

Come avete notato, in una Istruzione dì 
INPUT, si può inserire anche un messag- 
gio, basta che questo sia trascritto ail’in- 


Fie. 2 


450 REM ***************** 

460 REM * rCNU ' : F IG . 2 * 

470 REM ***************** 

480 ; 

490 REM *** ROUTINE QUADRATO *** 
500 FRINTCHR*< 147 )CHR$ ( 1 7 )SPC < 18 ) * 
QUADRATO * 

510 PRINTCHR* C 17>GHR*< mSPC<5}; 
520 INPUT "LATO 11 ; L 
530 fìR*L*L 

540 FRINTCHR^C 17)CHR$< t?)CHR*< 1?>S 
PC <5 ) 1( L 1 AREA E 1 : JI AR 
550 FOR 1=0 T0 5:PRINTCKR*( 17) :NEX 
T 

5B0 PR1NTSPC< 10) "PREMI UN TASTO" 
570 GET A$iIF A$® 11 " THEN 570 
530 GOTO 1 00 
590 : 

600 REM *** ROUTINE TRIANGOLO *** 
S 1 0 PRIMTCHR*< Ì4?)CHR*( t?)SPC< 12) " 
TRIAN.EQ" 

820 PRirsTTCHR*( t?)CHR$<I7)SPCC5>l 
830 INPUT "LATO *;L 
640 AR*L*L*5QR(3>/4 
650 FR1NTCHR$< 17)GHR*< 17)CHR*< 17>S 
PC <5 ) "L 1 AREA E 1 t " AR 
660 FOR 1=0 TO 5iPRlNTCHR*< 17) :NEX 
T 

670 PR1NTSPC (10 SPREMI UN TASTO” 
680 GET AisIF A**"* THEN 680 
690 GOTO 100 


44 ■ Commodore Computer Club 



temo di virgolette <“} e seguito da un 
punto e virgola (;)* altrimenti il computer 
segnata un errore di sintassi. 

Quello che succede è che ora il punto dì 
domanda (?) tipico deìPinpui, comparirà 
di fianco alla parola LATO. 

Inoltre la variabile rappresentante il 
lato è indicata con la lettera L, lettera* 
che caratterizza le variabili numeriche 
(manca il delle al fan um eriche); quindi 
il computerai aspetterà un numero. Cosa 
c’è di strano, direte voi* dato che il valore 
del lato da inserire è un numero? In effetti 
non c’è niente di strano, salvo che cosi 
facendo* non teniamo conto del fatto che 
la nostre mani potrebbero cadere dovun- 
que sulla tastiera* anche su 1 lettere’, con 
il castigo della solita sgridata ‘REDO 
FROM START’* e conseguente ‘abbrut- 
tì mento* della v ideata. 

Il tutto può essere superato* come visto 
in precedenza* con l’uso di una variabile 
Alfanumerica, tipo *L$’ la quale* però, 
dopo I* INPUT, andrebbe ritrasformata 
in numero* 

Visto che quello che abbiamo finora 
non è poco, preferisco rimandare il di- 
scorso sull 7 INPUT ‘controllato’ ad un al- 
tro numero della rivista. 

Infine* se dovete inserire un valore del 
lato che contiene decimali, ricordatevi di 
usare il PUNTO al posto della VIRGO- 
LA: se volete comunque provare ad usare 
la {,), come: 5,3 otterrete il messaggio 
‘EXTRA IGNORED', il che vuol dire che 
i numeri dopo la virgola, sono stati igno- 
rati (è stato accettato solo il 5* ed il risulta- 
to sarà un’area di 25). 

Per semplicità* vorrei ora riportare la 
schema delle due routines: 

Al STAMPA ‘QUADRATO' 

A2 CHIEDE VALORE LATO 
A3 CALCOLA AREA 
A4 STAMPA RISULTATO 
A5 ASPETTA LA PRESSIONE DI 
UN T ASTO 

m 

* 

# 

* 

RI STAMPA ‘TRIAN.EQ’ 

B2 CHIEDE VALORE LATO 
B3 CALCOLA AREA 
B4 STAMPA RISULTATO 
B5 ASPETTA LA PRESSIONE DI UN 


TASTO 

Potete accorgervi facilmente come al- 
cune parli delle due routines siano identi- 
che. Questo suggerisce Pidea di creare 
delle Subroutine che si occupino di svol- 
gere quelle determinate mansioni, ritor- 
nando poi alle routines principali* 

Una Submarine è un sottoprogramma 
che viene richiamato dall' istruzione GO- 


SUB xxx* Quando il programma princi- 
pale incontra un’istruzione GOSUR* 
* prende nota’ della posizione di partenza 
e poi salta alta Subroutine; segue poi 
quello che la subroutine stessa deve fare e 
ritorna al punto in cui aveva lasciato il 
programma principale* Perchè ciò av- 
venga correttamente* la subroutine deve 
terminare con l'istruzione RETURN. Si 


10Q REM *##*:***i****** *** 

Ite REM * MENU’! FIG. 3 * 

130 REM ********* ******** 

130 : 

140 REM *** VISUAL IZZA MEMJ ’ *** 
150 PRINTCHR*< 14?)CHR*< 17)CHR$< 17) 
CHR*( 17) 

1S0 PR I NTSPC C 12 ) “ QUADRATO "CHR$<! 
8 ) * 1 "CHR$<17> 

170 PR I NTSPC < 12 ) "TR I AN« EQ . ”CHR*<1 
8)" £ ‘CHR*a7) 

180 : 

190 REM *** SCELTA *** 

£00 GET R$ 

£10 IF R*="l* THEN £G0 
££0 1F R4= "£ " THEN 300 
£30 GOTO £00 
£40 : 

£50 REM *** QUADRATO *** 

£60 PR INTCHRt < 147>CHR*< 17)SPC( 12) " 
QUADRATO" 1GQSUB 340 
£70 AR=L*L:GOSUB 380! GOTO 150 
£80 : 

£30 REM *** TRIANGOLO *** 

300 PR1NTCHR$< 147>CHR$<17)SPC< 1£) " 
TRIAN.EQ* iGOSUB 348 
310 AR=L*L*SQR <3 >/4 iGOSUB 380: GOTO 
150 

3£0 : 

330 REM *** IhFUT SUBROUTÌNE **# 
340 PRINTCHR*<17)CHR$< 17)SPCC5) 
i 330 INPUT "LATO °;L SRETURN 
*' 360 ! 

370 REM *** RISULTATO *** 

380 PR1NTCHR*( 17)CHR$< 17)CHR$< 17)S 
PC <5 ) "L’AREA E’ i "AR 
390 FOR 1=0 TC 35PRINTCHR*i: 17>:NEX 
T 

400 PRINTSPC< 10) "PREMI UN TASTO” 
410 GET A*:IF A*="" THEN 410 
420 RETURN 


Commodore Computer Club ■ 45 



DIDATTICA 


possono anche creare Subroutine airìn- 
terno dì altri sotto program mi, pero dove- 
te sempre ricordarvi di ‘chiudere" ognu- 
na di esse con RETURN, Se richiamate 
più sottoprogranuni e vi dimenticate di 
chiuderli, potete incappare in un errore 
del tipo OUT OF MEMORY’ (non c'è 
più memoria disponibile). Quindi, per 
evitare il ripetersi di istruzioni identiche, 
possiamo far us o di Suhroutmes che si 
occupino delITNPlT, della stampa del 
Risultato o della pressione di un tasto. 

Lo schema andrà modificato in questo 

modo: 

Al STAMPA QUADRATO" 

A2 GOSUB C1 
A3 CALCOLA AREA 
A4 GOSUBC2 
A 5 RITORNA MENU" 

«■ 

RI STAMPA ‘TR1AN.EQ’ 

B2 GOSUBCI 
B3 CALCOLA AREA 
B4 COSUBC2 
B5 RITORNA MENU’ 



CI INPUT SL BROLTINE - RETURN 


* 

C2 STAMPA AREA - ASPETTA PRES* 
SIONE TASTO - RETURN 


11 tutto è realizzato nei programma di 
FIGURA 3, che può essere ritenuto con- 
clusivo, anche se è possibile andare oltre. 
Per esempio, supponiamo di voler calco- 
lare l'altl dì due quadrati. 

Col nostro programma calcoleremmo 
l'area del primo. In seguito dovremmo 
tornare al menù, scegliere nuovamente 
l'opzione 'quadrato' (premendo il tasto 
1), e calcolare la seconda area. Ora, sa- 
rebbe comodo poter calcolare la seconda 
area senza ripassare dal menù, cioè ritor- 
nare all'inizio delta routine quadrato (o 
triangolo); lascio a voi il compito in modo 
che vi possiate 'esercitare'. 

Di seguito come aiuto, potete osservare 
il diagramma a blocchi dì fig.4. 

Infine un'ultimo esercizio: provate a 
prevedere l’uso di un tasto che vi faccia 
uscire definitivamentedal program ina!, 

Giancarlo Castagna 



46 - Commodore Computer Cfub 



OLTRE IL BASIC 

COMMODORE 16 

Monitor lm 
del C 16 


uggendo i E itiii limite d'uso che ac- 
compagna il C 16 ci si accorge faci lm ente 
di piccole imperfezioni sparse qua e là. 
La più grave è senza dubbio quella sul 
comando del nuovo Basic 3, 5 ; Monitor. 

Viene dello che tale comando ci porla 
fuori dalP'ambiente" Basic e consente 
di entrare nel programma monitor per 
correggere e o scrivere programmi in lin- 
guaggio macchina. Dopodiché l rovinino 
testualmente Neri ito: Vedere Eri sezione 
sui comandi ilei monitor per maggiori 
informazioni \ Dov’é questa sezione? 
Non e 'è. 

I eco allora che ( ’ommodore Compii' 
ter Club ha pensato di venire in aiuto ai 
possessori di questo piccolo, ma polente 
computer. 

lì programma Monitor che è incorpo- 
rato sul t 16, detto I EDMON da! nome 
deinntegraio v ideo (TExt Display chip), 
comprende, olite a! monitor per i! lin- 
guaggio macchina* un miniassemhler ed 
un minidisassemhler. Vediamo ora i suoi 
comandi. 

1 comandi 

A — assemblei penne ite di assemblare 
le istruzioni mnemoniche dello standard 
MOS, quali: LDX. LDA. BIT. PHP. 
e ce. 


Le potenti istruzioni 
incorporate nelle Rom 
dell' ultimo computer 
Commodore. 


Sintassi: A indirizzo cod operativo 
operando dove 'indirizzo’ è un numero 
e sa deci ma le diesi riferisce a Ila locazione 
di memoria in cui assemblare 
l'istruzione. 

Premendo <RETURN> dopo aver 
scritto l'istruzione si passa automatica- 
mente alla locuzione di memoria sueces- 
si\;i Per uscire dall'assemblaggio è suffi- 
ciente premere il tasto <RETURN> 
senza aver scritto alcuna istruzione, 
talpio: 

Alitili LDA $PQ 
C = compare: confronta due aree di 
memoria e segnala le eventuali differen- 
ze stampando sul video le locazioni di 
memoria retalo e, 

Sintassi: (' rm/inlarea line larea 


inizìo2a rea 

Anche in questo caso t parametri “ini- 
zio la rea". "fine 1 area” ed "niiziii2area" 
sono numeri esadecimali elle indicarlo le 
locazioni di memoria in esame. 


Esempio: 

C UHM 2000 3000 

D — disassembìy: disnssembln il lin- 
guaggio macchina in mnemonico. 
Sintassi: D inizioaren fi ne a re a con gli in- 
dirizzi sempre in e sa deci ni a te. 

Occorre notare che se omettiamo l'In- 
dirizzo di fine vengono mostrale 20 istru- 
zioni dopodiché si ha il ritorno del curso- 


re lampeggiante, 

Premendo D e <RETURN> si ha la 
possibilità di vedere le 20 istruzioni suc- 
cessi ve.. Se dopo aver disassemblalo 
un’area di memoria cì posizioniamo con 
il cursore sopra una istruzione e la modi- 
fichiamo. premendo <REH’RN> si 
entra automaticamente in modo 
A Ksembly, 

Esempio: 

D UHM 1020 
oppure 
D HKM 

F = fili: riempie un'area di memoria 
con uno specìfico valore di un Byte* 
Sintassi: f inizioarea Imearea valore 
anche il valore come gli indirizzi che indi- 
cano le aree deve essere in osa deci male. 
Esempio: 

F UHM) 21X10 FA 

C i = GO 1 O permette di mandare in ese- 
cuzione un programma ad un indirizzo 
specificato 

Sintassi: G indirizzo 

Se si omette l'indirizzo l'esecuzione sa- 
rà eseguita a partire dal corrente valore 
del Program Counter (vedere comando 
R). 

Esempio: 

G 1200 

H = turno ricerca dei dati specificati in 
una determinata area. 


Commodore Computer Club -47 


OLTRE IL BASIC 


Sintassi: H inizioarea finta re a dati 
ì dati possono essere sta valori esatteci- 
mali, che stringhe alfanumeriche. Le 
stringhe occorre siano precedute dall'a- 
postrofo {ottenibile con <SHIFT-h7>). 
Quando i dati vengono trovati entro l'a- 
rea in esame si ha la stampa su vìdeo 
degli indirizzi ricercati. 

Esempio: 

H 1000 2000 20 D2 FF 
oppure 

H E 000 FFFF ‘Commodore 

L = load: carica da una memoria di 
massa un file specifico. 

Occorre notare che il programma cari- 
cato in memoria sìa da nastro che da 
disco, non viene mai rilegato. Si posizio- 
na cioè nella stessa area di memoria da 
cui era stato salvato. 

Sintassi: L nomeprogramma, 

numeroperiferica 

Il nome del programma va scritto tra 
virgolette (come in Basic) mentre il nu- 
mero della periferica deve essere in 
esadecìmale. 

sempio: 

L "PROVA C16”, 01 (carica da nastro) 
oppure 

L “PROVA C16’\ 08 (carica da disco) 

M = memory: visualizza il contenuto di 
un'area di memoria con una stampa su 
video dei codici esadedmali e ASCII. 

Sintassi: M inizioarea fmearea 
Come per il comando D anche in questo 
caso se si omette l'indirizzo di fmearea 
saranno visualizzate % locazioni dì me- 
moria (12 righe dì 8 byte alla volta) e 
premendo M seguito da <RETURN> si 
potranno vedere le % locazioni 
successive. 

Si possono cambiare i valori dei byte 
esadedmali e confermare !a modifica 
con il <RETURN>, In caso di errore, 
causato o da un tentativo di scrivere sulla 
ROM o da un codice inesistente, si ha la 
visualizzazione di un punto interrogativo 
subito dopo la locazione errata, 

Esempio: 

M 11 MÌO 21MX) 
oppure 
M 1000 

R — register: visualizza i registri vitali del 
microprocessore 7501 (non spaventatevi 


anche se ha una sigla diversa in pratica è 
come il famoso 6502) . 

In particolare Vengono mostrati: 
il PC, cioè il contatore di programma 
lo SR, cioè il registro di Stack 

10 AC, cioè l’accumulatore 

11 XR t cioè il registro X 
il YR t cioè il registro Y 

10 SP, cioè il puntatore allo Stack 
Sintassi: R ovviamente seguito dal ta- 
sto <RETURN>. 

E' interessante notare il fatto che è 
possibile variare il contenuto dei vari re- 
gistri nello stesso modo usato per variare 

11 contenuto delle locazioni dì memoria. 
S = salvare: salva il contenuto di un’arca 
di memoria specificata. 

Sintassi: S nomefìle, nem. periferica, 
inizioarea, fmearea 
Occorre notare che l'indirizzo di finca- 
rea va aumentato di 1 rispetto all’area 
dati che vogliamo salvare, 

Esempio: 

$ "C16 PROVA + \0l, 1000,2001 

(salva l’area da $1000 a $2000 su nastro) 

oppure 

S "06 PROVA” ,08,3500,4000 
(salva su disco l’area da S3500 a $3fff) 

T — transfert: ricopia un'area dì memo- 
ria in un’altra area specificata. 

Sintassi: T iniziolarea fine larea ini- 


zio2area dove 2area t quella dove andrà 
a riprodursi l’area. 

Esempio; 

T 1000 2000 3000 
oppure 

T 5000 5500 1000 

V = verify: confronta un file su nastro o 
su disco con Parca di memoria in cui il file 
sarebbe caricato. Se si ha una differenza 
viene visualizzata la scritta VERI- 
FYING ERROR, 

Sintassi: V nomefile, nem. periferica 

Esempio: 

V "C16 PROVA'V.01 
(da nastro) oppure 

V "C16 FROVA” ,08 
(da disco) 

X — exit: esce dall'ambiente Monitor e 
toma al Basic, 

E T buona norma, una volta tornati al Ba- 
sic, di dare il comando CLR che permet- 
te di inizializzare il puntatore allo Stack., 
Sintassi: X seguito dal <RETURN>. 

Memorili e locazioni 

Adesso che siamo in grado di utilizzare 
al meglio il programma TEDMON ve- 
diamo di dare una sbirciatina alla memo- 
ria del 06, A grandi linee la mappa dì 
memoria del 06 è organizzata come in 


ESA/DEC 

NOTE 

$0000/0 

$07FF/2047 

VARIABILI DI SISTEMA 

! $08 00/2 048 
$0BFF/307 1 

AREA RAM COLORE SCHERMO 

$0000/3072 

S0FFF/4095 

AREA RAM SCHERMO 

$1000/4096 (INIZIO AREA RAM BASIC 

$1800/8144 
$lBFF/7 167 

LUMINANZA BIT DELLA 

MAPFA SCHERMO 

$1000/7168 
$lFFF/8 19 1 

MAPPA COLORE SCHERMO 

IN ALTA RISOLUZIONE 

$2000/3192 

S3FFF/163B3 

AREA RAM SCHERMO HI-RES 
OPPURE AREA BASIC 

$8000/32768 
$BFFF/49 1 5 1 

INTERPRETE BASIC 

$0000/53248 

$D7FF/55295 

ROM CARATTERI 

$0800/55236 

$FFFF/65535 

ROM SISTEMA OPERATIVO 


— 


48 - Commodore Computer Club 



OLTRE IL BASIC 


figura 1. 

Analizziamo ora più da vicino alcune 
locazioni che possono risultare interes- 
santi per determinate situazioni. 

Innanzitutto t vari puntatori del Basic 
sono rimasti i medesimi del VIC’ 21) e del 
CBM 64 e cioè : 

$2b-2c/43-44 = inizio area Basic 
S2d-2e/45-46 = fine area Basic e inìzio 
area variabili 

S2f- 30/47-48 = inizio area Array* 
$31-32/40-50 = fine area Arrays 
$33-34/51-52 = fine area stringhe (N.B. 
le stringhe vengono memorizzate a pani- 
re dalla fine della memoria e andando a 
ritroso). 

Altre utili locazioni possono essere: 
SOOca/202 — numero colonna in cui si 
trova il cursore. 

$0Qcd/2O5 —numero riga in cui si trova il 
cursore. 

E' da notare il fatto che se scriviamo: 
POKE 202,2: POKE 205,10 sia in modo 
diretto che in programma, avremmo il 
risultato di posizionare il cursore alla se- 
conda posizione della riga decima. 
Avremmo così ottenuto il risultato di 
un'istruzione del tipo PRINT AT non 
disponibile nel Basic dei Commodore. 
$0540/1344 = Flag di ÀUT0REPEAT. 

Il Ctft ha già la ripetizione su tutti ì 
tasti e questo a volte può non essere desi- 


dera to. Allora ecco che conoscendo que- 
sta locazione di memoria è possibile disa- 
bilitare la ripetizione dei tasti fa parte la 
barra spaziatrice, il Delcte, ecc,} I valori 
da immettere in questa locazione sono: 
12K per avere la ripetizione su Lutti i tasti 
e 0 per disabilitarla. 

$0543/1347 — Flag per il controllo dei 
tasti SHIFT. CTRL e COMMODORE. 

] valori preeisi sono: 

1 -> Tasto SHIFT 

2 -> Tasto COMMODORE (in basso a 
sinistra) 

4 -> Tasto CTRL 

U na utilizzazione di tale locazione può 
essere quella di attendere che sia premu- 
to uno di questi tasti per andare avanti 
nell'esecuzione del programma. 

Esempio: 30 W A IT 1347,1 
attende fino a che non si preme II tasto 
SHIFT. 

$t)Oef/239 = numero di caratteri nel buf- 
fer di tastiera. 

Permette di forzare i caratteri nel Buf- 
fer (posto da $11527/1319 a $(1530/1328) e 
alla fine di scaricarli su video. E' un (Tac- 
chetto mollo spesso utilizzato per vane 
situazioni (vedi DATA MAKER per 
CBM 64 e VIC 2(1), 

(Giovanni Brani 



rruLULjye in luh tSStiera 

dalla polvere 


COPRI TASTIERA 
IN PLEXIGLAS 
PER: VIC 20, 
C.16, 



La puoi avere per sole 
L. 15.000 Iva compresa, 
escluso spese postali 
per pagamento 
contrassegno (L. 2.600) 
comprese se con vaglia 
anticipato. 



PLEXIDATA 

43040 - VARANO MELEGARI (PR) 

s 1 

i Sig. “ — - — — 

i 

i 

I Via — — 

i 



NUMERO PEZZI ORDINATI 
1 (IN LETTERE) 


I I 

I 1 

I - 3 

L — - 1 



GIOCHI 

COMMODORE 64 


ài Giancarlo Castagna 


M ar/io, dopo un lungo periodo di 
letargo' e dopo essersi visto per i ‘ennesi- 
ma volta allo specchio, decide di fare un 
pò di sport. Pensando che nel periodo 
estivo passa sempre qualche giorno in 
montagna e che gli piacerebbe fare qual- 
che arrampicata un po 1 seria (con l’aiuto 
di una guida, ovviamente), decide di ini- 
ziare i propri allenamenti su una specie di 
spalliera svedese. Lo scopo che si prefig- 
ge è quello di percorrere più volte il 'qua- 
dro\ lasciando dietro di sà delle palline, 
in modo da capire quando l’intero per- 
corso è stato ultimato- 

Purtroppo, si accorgerà presto che le 
cose sono più complicate di quello che 
pensava! Difatti, sullo stesso percorso, 
incontrerà altre persone non proprio 
educate, che continueranno il torti alle- 
namento senza preoccuparsi della sua 
presenza. Sta quindi a luì cercare di 
evitarle! 

Sia bene inteso che nessuno insegue 
Marzio, ma che tutti, poma o poi, se non 
starà più che attento, sì scontreranno con 
lui, trascinandolo "fuori pista'. 

Inoltre Marzio ha a disposizione solo 
tre prove. 

Come si gioca 

Scopo del gioco è guidare Marzio 
(spritc nero, inizialmente in basso a de- 


tra) lungo il percorso, con Faiuto del 
Joystick in port 2. 

I quadri da completare sono quattro, 
dopodiché si proseguirà sempre con la 
configurazione del quarto. 

Gli avversari da evitare vanno in ordi- 
ne crescente con il numero dei quadre 
(primo quadro I, secondo 2, terzo 3 e 
quarto 4). 

Tutti gli spritc ‘nemici’, seguono per- 
corsi prestabiliti a voi sconosciuti: quan- 
do li avrete scoperti, alla vostra abilità si 
dovrà aggiungere anche una certa strate- 
gia per riuscire a terminare il percorso 
senza subire danni! 

Alla fine dei gioco, premendo il tasto 
Y si ricomimcia, prc mando N si esce. 

Nel digitare il programma, non è ne- 
cessario battere le lìnee REM, in quanto 
ad esse non si fa riferimento, 

El programma 

II Problema da affrontare è quello di 
far muovere lo spritc (Marzio) su un per- 
corso stabilito, facendogli lasciare, con- 
temporaneamente, una scia. 

Se qualcuno ha letto gli articoli pubbli- 
cati sui numeri 17 e 18 della rivista riguar- 
danti la gestione degli spritc, saprà che 
esistono due registri che si occupano del- 
la collisione tra spritc e della collisione 
trasprite e fondo. 



Un ‘ ‘ percorso di 
guerra” per 
riprendere la forma 
prima delle ferie. 


50 - Commodore Computer Club 


GIOCHI 


Ripetiamo comunque, per chi non lo 
ricordasse, alcune informazioni dì carat- 
tere generale. I due registri sono: 

53278 collisione tra sprìte 

53279 collisione tra sprite e fondo 

Il registro 53278 è quello che fa per 
noi, in quanto permette di determinare 
la collisione tra Marzio ed un qualsiasi 
altro sprite, Il secondo registro invece 
non è a ssol ut ameni te in grado di capire 
qual è il carattere entrato in collisione 
con lo sprite e non ci è di alcuna utilità. 

Per far muovere Marzio su un percor- 
so prestabilito, è necessario sapere qual è 
il carattere che sta sotto di esso e, per 
fare questo, occorre sapere in che loca- 
zione dello schermo si trova il carattere 
stesso (dopodiché, basterà una semplice 
PEEK...) 

Per un gioco del genere lo sprite si 
deve muovere dì 8 pixel alla volta, sia in 
orizzontale che in verticale (difatti, un 
qualsiasi carattere è fatto da una matrice 
diS x8 pixel), 

IL tutto t stato risolto in questo modo: 
una volta costruito il 'quadro', si centra 
la ‘pancia' di Marzio nella posinone di 
partenza e si calcola la locazione di scher- 
mo proprio sotto la pancia (1931). Per 
fare questo, può essere utile riportarsi lo 
schema del gioco su un foglio a quadret- 
ti: ogni quadretto, è una locazione di 
schermo. 


GIOCHI 


Le soluzioni 


1 =I;2 = B;3=F;4 = D;5=E; 

6 = C;7 = G;8 = H;9=A; 
io = J; 11 = P; 12 = L; 13 =M; 
14 = Q; 15 = O; 16 = K; 17 = N; 
18 = R; 19 = S;20 = £;21 = U; 
22 = V;23 =Z;24 = X;25 = Y; 
26 = W ; 27 = &; 28 = T, 


Quando col Joystick si sposta lo sprite 
ve reo sinistra (o verso destra), per vedere 
qual è il carattere X-esimo sotto di esso, 
basta decrementare (o incrementare) la 
locazione iniziale di 1 e leggere, con una 
PEEK(X), il suo contenuto. Se invece lo 
sprite si sposta verso Paltò (o verso il 
basso), occorre decrementare (o incre- 
metare) la locazione iniziale di 40. 

Nel listato, il procedimento sopra de- 
scritto È fatto nelle linee da 510 a 540, le 
quali, con un GOTO e un GOSUB, fan- 
no saltare il programma alle linee 1500 - 
1530.Queste ultime si occupano di con- 
trollare il carattere al di sotto della "pan- 
cìà di Marzio, 

Per muovere lo sprite su! percorso del 
gioco non occorre, in effetti, sapete qual 
è l'esatto carattere sotto di esso: quello 
che ho fatto, è stato controllare sempli- 
cemente che non si tratti del “vuoto' 1 
CHR$(32). Se si tratta proprio di questo. 


Variabili 

QU : quadro 
VJ : vite 
PU : punti 

PÀ : punti fine quadro 
XY : locazione schermo 

X, Y : coord. Marzio 

XI, YI;X2,Y2: coord. sprite 
X3,Y3;X4,Y4 : coord. sprite 


si pone una variabile K uguale ad uno e, 
nelle linee 1010 1110 - 1210 - 1310, si 
annullano gli incrementi (o decrementi) 
sia delle locazioni di schermo che delle 
coordinate dello sprite, in modo che lo 
sprite stesso non subisca spostamenti. 

Nella linea 1510, oltre a controllare 
che il carattere sotto lo sprite non sia il 
32, si controlla anche che non sia 1*81 

(CHR$ COm spenderne al pallino pieno: 
rappresenta la “scia* 5 ). 

Tenete comunque presente che gestire 
5 sprite in Basic comporta una certa len- 
tezza: il metodo descritto sopra, è quello 
che, a mìo avviso, ‘lumachizza' al mini- 
mo (nei limiti del basic), i vari movimen- 
ti. Per quanto riguarda il ‘resto" del pro- 
gramma, non dovrebbero esserci grossi 
problemi. Per facilitare comunque la let- 
tura, ecco la lista di tutte le variabili con il 
loro valore iniziale: 


Valore iniziale 

1 

3 

0 

0 

1931 

vedi linea 400 - 410 
vedi linee 400 - 410 
vedi linee 400- 410 



Commodore Computer Club - 5 1 

















































GIOCHI 



i 

i 


Sì 

f ,e figure, mostrano con» procedere per individuare ti carattere sotto lo spnte: 
schema A - per spostamenti verso sinistra 
schema fi - per spostamenti verso l’alto 


SCHEMA E 



I REM *********************** 


S REM * COMMODORE 64 * 

3 REM * * 

4 REM * MARZIO * 

5 REM * * 


6 REM * G 1 ANDARLO CASTAGNA * 

7 REM *********************** 

8 : 

9 t 

ì 00 PRIMI” [CLEAR 3 [DOWN 3 " S V I “3 l QU= 1 
SGOSUB £000 

110 FOR 1=0 IO 62! READ A s POKE 1288 
8 + 1 r A ! POKE 1 £338 + 1 , A ! POKE 1241 
6 + 1 , A 

120 CK=CK +A s NEXT 

130 IF CK < >5343 THEN PR INT "ERRORE 
NEI DATA 3PR1TE 1 2 3" ! END 

140 FOR 1=0 TD 62 ? READ BiPOKE 124B 
0+ I ,B I POKE 12544+1 ,BtCH=CH+B!N 
EXT 

150 IF CH05BI4 THEN PRIMI "ERRORE 
NEI DATA SPRITE 4 5": END 

193 i 


£00 A t$= "II ARANO 3 I 1 * 

1 P : REM [ C 3 +Q ; [ SH 3 + * 

; CSH3 + + J E C 1 +14 

210 A£*="tARANC3 \ t 1 

| l*i REM [SH3+B 

220 A3*=" III) 

|"l REM CSH3+B 

£30 A4S=" i 1 1 1 

i [CELESTE] "l REM [C3+2;[SH3 

+ ** CC3+EI CC3+X 

£40 PR I NT " C CLEAR 1 1 DQhN 3 " s POKE 5323 
0,1 1 ; POKE 53261 ,11 

£9,7 REM ******************** 

£38 REM * PROGR. PRINCIPALE * 

£39 REM ******************** 

300 FOR 1=1 TO 3SPRINTA2*iPRINTA 3* 
: PR I NT A 1 * : PR I NTA2 S l PR I NTA3* 

310 PR INTANI NEXT :PRINTA2$:PRINTA3 
*ipRIWTA4$ 

320 PRINT” (HOME 3(8 DQWNJ 1 * 3 4 5 6 7 8 9 SPC C30 > " t 
MERO 3 QUADRO- [CELESTE 3 * * G03UB 
3600 


52 - Commodore Computer Ctub 



GIOCHI 


330 PRINT" 13 OGL'f'i ] "SPC <3 1 > ’ [NERO J 
V ITE- [CELESTE ] * tGOSUB 3500 
340 PR INI 1 ’ [3 DOUNITSPCOl >*[KERO) 
PUNTI [CELESTE] * 

350 V =53248 s POKE 8040, 198iPQKE V+3 
3,0 

360 POKE 8041 , 193! POKE V+40,3iPOKE 
8042,194i POKE V+4 1,7 
380 POKE 2043 ,135! POKE V+48,5:POKE 
8044, 196i POKE V+43,B 
400 X =238 ! Y=S 19 i X l =40 i Y 1 =58 : X£=£3£ 
! XY= I 33 1 

410 Y8 =78 : X3 =838 : Y3 =58 : X4*40 1 Y4=8 1 
3 

480 IF QU= 1 THEN POKE V+21 ,31 GOTO 
460 

430 IF QU=£ THEN POKE V+Ei,7iG0T0 
460 

440 IF QU=3 THEN POKE V +8 1,15! GOTO 
460 

450 IF QU= >4 THEN POKE V+21, 31 
460 POKE V , X ! POKE V + 1,Y:P0KE V+8,X 
li POKE V+3,Y1 

470 POKE V+4 ,X8 ! POKE V+5,Y2iP0KE V 
+6,X3iP0KE V+7,Y3!P0KE V+8,X4! 
POKE V +9 , Y4 
480 P1=PEEK< 53878) 

439 ! 

500 P=PEEK< 56320) 

510 IF P=t£3 THEN X=X-8 !XY=XY- 1 !GO 
TO 1000 

580 IF P = 119 THEN X=X+8 : XY=XY+ 1 : GG 
TO 1 100 

530 IF P = 1 26 THEN Y*Y-8 i XY=XY-40 : G 
OTO 1200 

540 IF P=l£5 THEN Y=Y+8! XY=X Y+40 !G 
OTO 1300 
545 GOTO 560 

550 POKE XY,8 1 ! POKE V,X:POKE V + 1,Y 
560 Y1 =Yt +8 1 IF Yl >818 THEN Y1=58:X 
1 =X 1 +48 

570 IF XI >838 THEN Xl=40 
580 POKE V+8 ,X I !POKE V+3,Y1:G0SUB 
800 

600 IF GU= 1 THEN 770 
610 XE=X£-8tIF X2 <40 THEN X2=238iY 
8*Y2+24 

880 IF YE >2 18 THEN Y£=78 
630 POKE V+4 ,X£i POKE V+5,Y8iG0SUB 
800 

650 IF QU*2 THEN 770 

660 Y3=Y3+ 16 • IF Y3>£I8 THEN Y3=58: 


X3=X3-48 

670 IF X3<40 THEN X3=838 
680 POKE V +6,X3 ! POKE V + 7,Y3:G0SUB 
800 

700 IF QU=3 THEN 770 

780 X4*X4+l$:iF X4>838 THEN X4=40i 

Y4=Y4_24 

730 IF Y4<?£ THEN Y4=818 
750 POKE V+8 ,X4 JPOKE V+9,Y4sG0SUB 
800 

770 IF PA=845 THEN 4000 

780 GOTO 500 

800 PJ=PEEK< 53878) 

810 IF PI =3 THEN 0=0: GOTO 3000 
880 IF PI =5 THEN 0=0! GOTO 3100 
830 IF PI =9 OR PI =17 THEN 3£00 
840 RETURN 
398 ! 

999 : 

1000 GOSUB 1500! IF KOI THEN 550 
1010 K=0 : XY=XY + 1 : X=X+S : GOTO 550 

1099 t 

1100 GOSUB 1500: IF KOI THEN 550 
1110 K=0:XY=Xr-l :X=X-8:G0T0 550 
1133 ! 

1800 GOSUB 1500! IF KOI THEN 550 
1810 K=G;XY=XY+40 ! Y-Y+8 5 GOTO 550 
1839 i 

1300 GOSUB 1500: IF KOI THEN 550 
1310 K=0 :XY=XY-40 : Y=Y-8 ! GOTO 550 

1499 : ' 

1500 PE=PEEK CXY ) : I F PE=38 THEN K= I ! 
RETURN 

1510 IF PE03S AIO PE081 THEN PA=P 
A+l :PU=PU+1 

1530 GQSU8 3700! RETURN 
1889 i 

£000 POKE 53880, 0:POKE 53881,0 
£050 PRINT* [HOME 115 DOWN] "SPC < 14 ) "M 
A R 2 IO" 

8060 PRINT" 13 DOWN] "SPC < 12)"J0ISTIC 
K PORT 8" 

£070 PRINT" 14 DOWN] "SPC< 15) "UN ATTI 
MO" 

8080 PRINT* £3 DOWN] "SPC < 14 > "e 1 985 
CAST" 

8090 RETURN 

8997 REM ******************** 

8398 REM 5 COLLIS. SPRJTE 8 * 

£999 REM ******************** 

3000 Y1=Y1 +8 tGOSUB 4600 

3010 POKE V+3, XI tPOKE V+3,llfP0KE V 


Commodore Computer Club - 53 


GIOCHI 


,x:poke V+l/Vl 

3020 FOR 1=0 TD 100;FEXTiIF r i <250 
THEN 3000 

3030 FOKE 54276,0: VI =VI-1:GQSUB 350 

0 ! GOTO 400 

3037 REM ******************** 

3038 REM * COLLIS- SPRITE 3 * 

3093 REM ******************** 

3100 X2 -KB "8 * GOSUB 4600 
3110 POKE V+4 ,X£ *FQKE V+5,y£:POKE V 
,X2 sPOKE V + I , Y 

3120 FOR 1=0 TO 100:FEXTUF X2 >5 TH 
EN 3100 

3130 POKE 54278,0* V I -V I - 15 GOSUB 350 
0 :GOTO 400 

3197 REM ********************** 

3198 REM * COLLIS. SPRITE 4-5 * 

3199 REM ********************** 

3200 GOSUB 4700: FOR 1=0 TO 64: POKE 

53280, ! il^EXT: POKE 54278,0 

3210 FOR 1=0 TO 1000!htXT 
3220 V I =V I - 1 ! GOSUB 3500 S POKE 53280, 
11 

3230 L = 1 : GOTO 400 

3497 REM ****************** 

3488 REM * CONTROLLA VITE * 

3439 REM ****************** 

3500 PRINT 11 [HOfrEK 10 OOLt^l “SPC <33 > V 

1 

3510 IF VI-0 THEN 4500 
3520 RETURN 

3597 REM ******************* 

3538 REM * SEGNA N. QUADRO * 

3593 REM ******************* 

3800 PRINT" [HOME] 14 DOWN 3 "SPC < 33 )QU 
: RETURN 

3637 REM *************** 

3698 REM * SEGNA PUNTI * 

3633 REM *************** 

3700 PRINT* 1 [HOPEH 16 DOWN] "SPC < 32 )P 
U : RETURN 

3937 REM *************** 

3398 REM * FINE QUADRO * 

3893 REM *************** 

4000 FOR 1=0 TO 36: POKE 53280, UNEX 
Ts FOR 1=0 TO 1 000:NEXT 

4010 PRINT" CCLEAR 3 C3 DOWN] m JpOKE 53 
280 ,11: POKE 53281, Ili POKE V+21 
,248 

4020 PR INTSFC ( 10 > * [NERO ]QUADRO COMP 
LETATO ! M [CELESTE 3 11 
4030 FOR 1=0 TO 30003NEXT1QU=QU+1 :P 


A=0: PRINT" [CLEAR ] IDOWNJ " 

4040 GOTO 300 

4497 REM ************** 

4493 REM * RICOMINCIA * 

4439 REM ************** 

4560 POKE 53280,11 

4510 PRINT" [HOME H20 DOLN] 11 SPC <30 > " 
[NERO JGAME OVER [CELESTE ì " 

4520 PRINT ]l CDOWN1 *SPC<33>* CNERQ 3Y/N 
[CELESTE ] " 

4530 GET R$:IF R$= TJ N JJ THEN END 
4540 IF R*=*Y" THEN 4560 
4550 GOTO 4530 


4560 

4570 

4597 

4588 

4539 

4600 

4610 


4820 

4637 

4698 

4693 

4700 


4710 

4997 

4338 

4398 

5000 

5010 

5020 

5030 

5097 

5088 

5099 

5100 

5110 


5120 

5130 


QU= 1 1 V I =3 * PA = 0s PU = 0 

POKE V+21 ,240: PRINT 11 [CLEARJ [DO 

UN 3" sGOTO 300 

REM ************************ 

REM * SUONO COLL, SPR, 2-3 * 
REM ************************ 
S =54272: POKE S+24,15:PGKE S+5, 
64 JPOKE S+6 ,S4 

POKE S ,49 : POKE S+ 1 ,28+0 S POKE S 
+4 ,33 

D=D+1 : RETURN 

REM ************************ 

REM * SUONO COLL. SPR- 4-5 * 
REM ************************ 
S=54272 : POKE 5+24,15!P0KE S+5, 
64 » POKE S+6,64 

POKE S , 1 2 : POKE S + 1,1: POKE S+4, 
129: RETURN 

REM ********************* 

REM * DATA SPRITE 1 2 3 * 

REM ********************* 
DATA 0.255,0,0,213,0,0,213,0, 
24 ,255,24 ,24 , 255 ,24 ,24 ,80,24 
DATA 24,60,24,31,255,248,31,2 

55. 248. 0. 255. 0,B,255 ,0,0, £55,0 
DATA 0,855,0,8 ,255 ,0,0,255,0, 

8.255.0. 0.195.0.0.195.0.0.195 
DATA 0,0,195,0,0, 135,0 

REM ******************* 

REM * DATA SPRITE 3 4 * 

REM ******************* 

DATA 0,255,0,0,255,0,0,255,0, 

8.255.0. 0 .255.0 .0 .60 .0.0.60 .0 
DATA 255 ,255 ,255 ,255 ,255 ,£55 , 
0,255,0 ,0 ,255 ,0,0,255 ,0,0,255 , 
0 

DATA 0,255,0,0,255,0, 1 ,£55,12 

8.3.255.132.7.0. 224.14.0.112 
DATA 83,0,56,56,0,26 


54 Commodoro Computer Club 


E UTILE 

PERIFERICHE 


Il Disk 




E 1541 


di Giovami! Verrelli 


V iaggio nel dischetto 
flessibile. Siete sicuri 
di sapere tutto sul 
vostro Drive 1541? 


1 1 passaggio dal registratore a cassette 
all'unità a dischi è un evento die, prima o 
poi, si verifica per quasi tutti i possessori 
dei C64 {ed anche per qualcuno del Vie 
20 ), 

Neì presente articolo, pertanto, si af- 
fronterà l 'argomento disk drive cercando 
di sopperire alle notevoli carenze del re- 
lativo manuale d'uso. 

Cominciamo subito con alcune notizie 
hardware. Il 1541 (questo il numero che 
contraddistingue ìn casa Commodore la 
periferica in esame), come sicuramente 
già saprete, dispone di un proprio micro- 
processore 6502, di due processori 6522 
che sovrintendono alll/O (Input - Out- 
put: ingresso Uscita dei dati elaborati), 
2K di memoria RAM (da usare per pic- 
coli programmi personali o come buffer) 
e ben 16K di ROM. 

JI suo punto di forza è la presenza nella 
ROM appena citata di un proprio siste- 
ma operativo (chiamato DOS dalle pri- 
me lettere di “Disk Operatine System ", 
""sistema operativo per dischi") in grado 
di controllare autonomamente e senza 
alcun intervento da parte delfunità cen- 
trale tutte le operazioni che esso compie 



E + per questo motivo che viene chiamato 
dispositivo intelligente, 

I dischetti usati (chiamati anche floppy 
disk perchè sono flessibili) per le memo- 
rizzazioni corrispondono al formato, co- 
mune alla maggior parte dei personal 
computer, di 5.25" (5 pollici e un quarto, 
corrispondenti a circa 13 centimetri). 
Devono essere a singola faceta (cioè con 
una sola facciata impiegabile per la regi- 
strazione, anche se molti, con un pìccolo 
taglio sul lato destro, ne utilizzano anche 
l’altra) ed a singola densità, 5i presenta- 
no racchiusi in una busta protettiva, dalla 
quale non possono c non devono essere 
estratti, con un largo foro centrale che ne 
permette la rotazione e che in quelli di 
buona qualità è rinforzato da un anello di 
materiale plastico per evitarne la possibi- 
le deformazione dovuta al continuo sfor- 
zo di trazione. 

Sotto è visibile un altro foro, di forma 
allungata, che permette alla testina di 
entrare in contatto con la superficie ma- 
gnetica del disco. Questo è il punto piu 
delicato e non deve essere in nessun caso 
toccato con le dita o lasciato esposto al- 
l’aria o al sole senza la busta di 
protezione. 


Commodore Computer Club - 55 


L’ UTILE 


Infine sul lato sinistro è presente un 
incavo rettangolare che, opportunamen- 
te coperto con un nastro adesivo, impe- 
disce tutte le operazioni di scrittura, rive- 
landosi perciò particolarmente utile per 
evitare alterazioni o cancellazioni invo- 
lontarie dei dati. 

La formattazione 

Per consentire l'immagazzinamento 
dei dati, la prima operazione da compie- 
re sul dischetto è la formattazione, me- 
diante la quale si assegna al disco una 

certa Sforma " che lo rende utilizzabile 

# 

per gli usi successivi. 

Più precisamente, con questa prima 
operazione si divide la superficie del di- 
sco in una serie di aree circolari concen- 
triche chiamate tracce c contraddistinte 
da un numero che va da 1 a 35. Queste 
tracce, a loro volta, sono suddivise in un 
numero variabile di settori (o blocchi) 
che vengono adoperati materialmente 
per l’immagazzinamento dei dati 


di dubbio la più importante. Per questo 
motivo i settori liberi per l'utente sono 
664: infatti 683-19=664. Grazie alle in- 
formazioni contenute in essa è possibile 
sapere in qualsiasi momento quanti e 
quali programmi sono registrati sul di- 
schetto, quanti blocchi sono ancora libe- 
ri per la registrazione e così di seguito. 

Vediamo, come sono conservate tutte 
queste informazioni. 

Il settore 0 di questa traccia («E 2) 
contiene la BAM, o Block Àvailability 
Map (mappa di occupazione dei blocchi, 
in italiano), il cui scopo è dì registrare, 
per ogni settore del disco» se esso è libero 
per la memorizzazione o già occupato. 
Consiste di 144 byte» corrispondenti ai 
primi 143 byte del settore» ognuno dei 
quali con uno specifico significato. 

I primi due» numerati 0 e 1» sono usati 
come concatenamento al settore seguen- 
te (indicano qual è il prossimo settore da 
leggere) e contengono 18 c 1 (traccia=t8 
e settore— I). 

Segue il byte 2, contenente il valore 


I NUfERO TRACCIA T~3ETT0R I TOTALE 
| 1 


f 

J 

- 17 

il 0 

- 80 

i 

3! 

1 

18 

- £4 

1 0 

- 18 

i 

13 

1 

85 

- 30 

l e 

- 17 

i 

10 

1 

31 

- 35 

1 0 

- 16 

« 

17 


v J 

1 TOTALE SETTORI 683 

i 


I 

H 

I 

I 

I 

I 

H 

I 


Figura ì . Distribuzione dei settori per traccia. 


Come si può notare dalla tabella di fìg 
1 » una traccia può avere da 17 a 21 settori 
per un totale di 683 blocchi disponibili 
per le memorizzazioni anche se, come 
vedremo tra poco, solo 664 sono liberi 
per Putente. 

Ogni settore» oltre a poter conservare 
256 byte» contiene in una zona non acces- 
sibile al Tu tenie alcune informazioni usa- 
te per controllare la bontà della registra- 
zione (IQ del disco, numero della traccia 
in cui esso si trova, eoe.). 

Gestita in modo diverso rispetto a tut- 
te le altre» la traccia 18» costituita da 19 
settori numerati da 0 a 18» è riservata per 
gli usi della "'directory 11 ed è senza ombra 


65» codice ASCII della lettera A» che 
comunica al drive in che formato è regi- 
strato il disco e che viene controllato au- 
tomaticamente ogni volta che vengono 
effettuate operazioni di scrittura. Questo 
byte è molto importante in quanto, se 
per un motivo qualsiasi se ne cambia il 
contenuto, non sarà più possibile scrive- 
re su quel disco se non ri formattandolo, 

11 byte successivo, numerato col 3, non 
ha alcun significato e contiene il valore 0. 

I byte dal 4 al 143 costituiscono la 
BAM vera e propria e ( contengono la 
mappa dei settori occupati. Questi 140 
byte sono suddivisi in 35 gruppi di 4 byte 
ciascuno, ad ognuno dei quali corrispon- 


de il relativo numero di traccia (al primo 
gruppo corrisponde la traccia n.I, al 
gruppo 2 la traccia n,2 e cosi via fino al n, 
36), 

l quattro byte che formano ciascun 
gruppo contengono le diverse informa- 
zioni e sono gestiti in questo modo: 

• il primo byte contiene il numero dei 
settori ancora disponibili nella traccia; 

• il secondo byte indica la condizione 
dei primi 8 settori della traccia: a questo 
scopo vengono usati i singoli bit (si co- 
mincia a partire da quello situato più a 
destra), con la convenzione che se esso è 
uguale ad 1 il relativo settore è libero, 
mentre se vale 0 il settore è occupato; 

è il terzo byte indica la condizione degli 
altri 8 settori della traccia a partire dal 
settore 8 (bit più a destra) al 15 (bit più a 
sinistra); 

» il quarto byte contiene la mappa dei 
rimanenti settori della traccia. 

Giacché con tre byte è possibile regi- 
strare 24 settori (U-23) mentre il numero 
di settori per traccia è variabile tra 17 e 
21, il DOS risolve questo problema po- 
nendo a 0. durante la formattazione, i bit 
corrispondenti ai settori inesistenti, fa- 
cendoli così risultare occupali e perciò 
non liberi per la memorizzazione. 

Per esempio» se il secondo byte del 
primo gruppo contiene il valore 253 
(11111101 in binario), allora solo il setto- 
re numero 1 della traccia 1 è già stato 
usato per memorizzare dei dati (e perciò 
non libero per successive memorizzazio- 
ni); se il terzo byte del ventesimo gruppo 
contiene il valore 124 (01111100 in bina- 
rio), allora nella traccia n. 20 i settori 10, 
11, 12, 13 e 14 sono liberi per ricevere dei 
dati, mentre quelli con numero 8, 9 e 15 
già occupati. 

Proseguendo nell'esame delia traccia 
18 settore 0, i byte dal 144 al 166 sono 
usati per l'identificazione del dischetto; 
quelli rimanenti, dal 167 al 255» non ven- 
gono utilizzati. Perciò i 16 caratteri del 
nome del disco ed i 2 dell'ID sono conte- 
nuti in questa seconda parte de! settore 
0. Più precisamente, essi sono memoriz- 
zati, carattere per carattere in codice 
ASCII, nei byte 144-159 e 162-163. 

Nel caso in cui il nome del disco avesse 


56 - Commodore Computer Club 


L’ UTILE 


I BYTE 

Y 

I 0-1 
E 

! 3 

I 4-143 
1144-143 
1160-161 
! 162-163 
i 164 
1165-166 
1167-255 

L 


ICONTENUTO 1 DESCR 12 IONE 
4 


x 


I 


I 18 
I 


01 


65 
) 00 
[VARIABILE 
I VARI AB ILE 
I 160-160 
I VAR IAB ILE 
I 160 
( 50 - 65 
VARI 


(TRACCI A -SETTORE 1 BLOCCO DIR. | 
I* A ‘ FORMATO DI REGISTRAZIONE I 
(BYTE NON USATO | 
|B AM- MAPPA OCCUPAZIONE SETTORI] 
|NO»>t DEL DISCO | 
(BYTE NON USATO ] 
tlD. DEL DISCO | 
iBYTE NON USATO | 
1 1 2A 1 VERSI OFE DEL DOS I 
jBYTE NON UTILIZZATI i 


Figura 2. Descrizione detta traccia 18 settore 0. 

un numero di caratteri inferiore a 16, 
allora il DOS aggiunge automaticamen- 
te, durame la formattazione, degli spazi 
shiftati (valore ASCII 160) : mentre, se 
supera il limite accennato viene opportu- 
namente troncato. 

Il nome del disco è inserito per como- 
dità deliziente e non viene usato dal 

DOS. al contrario dell’ID (abbreviazio- 
ne di “Identification Disk ’, “Identifica- 
zione del Disco"), che riveste un'estre- 
ma importanza per esso e che si consiglia 
far variare da disco a disco pena la possi- 
bile perdita dei dati 

Come usare il programma 
“DISPLAY & TS” 

Prima di proseguire nell'esame della 
traccia 18. esaminiamo un programma 
che ci permette di vedere tutte queste 
cose. 

Ci riferiamo al “DISPLAY T&S", 
contenuto net disco (il Test/demo) forni- 
to insieme al drive al momento dell T ac- 
quisto, che ci permette di esaminare il 
contenuto di qualsiasi byte di qualsiasi 
traccia e settore (ricordiamo che per il 
Vie 20 questo programma necessita di 
un’espansione di memoria di almeno 
8K). 

Dopo averlo caricato in memoria, e 
dato il RUN, la prima domanda a cui 
bisogna rispondere è se vogliamo che i 
risultati vadano su video (screen) o su 
stampante (printer) premendo ìa lettera 
corrispondente all' iniziale del nome (in- 
glese) della nostra scelta. 

Fatto questo, i! programma chiederà il 


numero di traccia e settore che vogliamo 
esaminare, dopodiché il contenuto di 
questo sarà visualizzato sulla periferica 
prescelta (nel caso si fosse scelto il video, 
la pressione del tasto CTRL rallenterà la 
visualizzazione; premendo il RUN/ 
STOP la si fermerà del tutto con la possi- 
bilità, scrivendo CONT e battendo RE- 
i URN, di riprenderla in qualsiasi 
momento). 

11 contenuto di ogni settore è visualiz- 
zato in notazione csadecimale, un meto- 
do molto comune per la rappresentazio- 
ne dei numeri binari. Per ìa conversione 
nel formato più familiare di numeri deci- 
mali, basterà moltiplicare la prima cifra 
del valore per il numero 16 ed aggiunger- 
ne la seconda, ricordando che ai caratteri 
A. ET C, D, E ed F corrispondono, ri- 
spettivamente, i valori IO. li, 12. 13, 14 e 
15, Perciò, al valore esadecimale A6 cor- 
risponde il numero decimale 166 
(10*16+6), mentre al valore 12 corri- 
sponde il numero 18(1* 16+2). 

Alla destra di ogni linea, inoltre, à vi- 
sualizzato il carattere ASCII corrispon- 
dente ai diversi valori presenti. 

Infine, per uscire dal programma è suf- 
ficiente rispondere alla richiesta del nu- 
mero di traccia con un valore esterno 
a IL intervallo 1-35. 

Riprendendo il discorso iniziale, i ri- 
manenti settori della traccia 18 sono uti- 
lizzati per la directory (contengono i no- 
mi dei file registrati e indicano dove que- 
sti sono allocati). 

Poiché in ogni settore è possibile regi- 
strare Tindice di 8 file (fig 3), un disco 
può contenere solo (!) 144 file diversi. 


Infatti 8 file * 18 settori rimanenti nella 
traccia IR “ 144. 

Come per il settore 0, i primi due byte 
del settore ‘T T puntano (=indicano) al 
prossimo blocco da leggere: questa prati- 
ca del puntatore è usat3 per tutti i settori 
in quanto le varie registrazioni non av- 
vengono sequenzialmente, perciò si ha 
bisogno di sapere ogni volta in quale 
blocco la registrazione continua. L'ulti- 
mo settore utilizzato per la memorizza- 
zione è indicato dal fatto che i primi due 
byte puntano alla traccia 0. settore 255 (o 
altro valore), che in realtà non esiste. 

Dopo questi primi due byte abbiamo ì 
30 byte che contengono tutte le informa- 
zioni sul primo file registrato (fig 3,1), 

Di questi: 

Il byte 0 indica il tipo di file: 

129 ($81) per sequenziale (SEG) 

130 ($82) per programma (PRO) 

131 ($83) per user (USR) 

132 (S84) per relativo (REL) 

0 ($00) per file cancellato (DEL) 
valori intermedi tra 128 e 1 per file chiusi 
non correttamente che il DOS ignorerà; 

• i byte 1 e 2 puntano alla traccia e setto- 
re dove è stato memorizzato il primo 
blocco del file; 

• i byte dal 3 al IR contengono il codice 
ASCII dei caratteri del nome de! file (an- 
che in questo caso se il nome è più corto 
di 16 caratteri il DOS aggiungerà auto- 
maticamente degli spazi shiftati, codice 
ASCII 160); 

• i byte dal 19 al 21 sono usati solo per i 
file relativi e contengono l'indirizzo di 
traccia e settore del primo SIDE SEC- 
TOR (un indice interno usato dal file, 
byte 19 e 20) e la lunghezza di ogni record 
( 21 ); 

• i byte dal 22 al 25 noli sono utilizzati; 

• i byte 26 e 27 contengono il numero di 
traccia e settore del file che è staio me- 
morizzato dopo il comando OPEN 
con un nome già presente in directory 
(questo è quanto dice il manuale d'uso, 
mentre personalmente ho visto che con- 
tengono sempre 0) 

• i byte 28 e 29 indicano il numero di 
blocchi occupati dal file nel formato byte 
basso-bvte alto. 


Comma doro Computer Club - 57 


L’UTILE 


Al termine di questi primi 30 byte ci 
sono 2 byte contenenti il valore 0 ed usati 
come caratteri separatori; quindi si han- 
no altri 30 byte usati per le informazioni 
deila seconda registrazione seguiti da 
due byte a zero, e così via fino all'Indice 
dell’ottavo file che concluderà il settore 
1, Sì ricordi che ogni settore può conte- 
nere al massimo l’indice di 8 file. 

Per gli eventuali altri settori usati per 
la directory, presentì se i file memorizza- 
ti sono più di 8, valgono le stesse spiega- 
zioni viste per il settore 1. 

L'ultima informazione (non riportata 
nemmeno sul manuale d’uso) è che, solo 
per i file programmi, i byte 2 e 3 del 
primo settore dove comincia la loro me- 
morizzazione contengono la locazione 
iniziale, espressa come ai solito nel for- 
mato byte basso-byte alto, dove risiede- 
va il programma al momento del 
salvataggio. 

Vediamo ora in pratica come tutte le 
informazioni appena viste sono realmen- 
te utilizzate, 

impariamo a leggere 
il contenuto di un disco 

Dato che in questa fase sarà largamen- 
te impiegato il DISPLAY T&S, cerchia- 
mo dì renderlo ancor più efficiente ag- 
giungendo la riga: 

453 WATT 198,1,1 

per mezzo della quale ogni volta che si 
desidera fermare la visualizzazione del 
contenuto di un settore basterà premere 
un tasto (diverso dallo SHIFT o dallo 
STOP), con la possibilità, riprcmendolo 
un'altra volta, di continuare il lavoro 
iniziale, 

Per prima cosa, formattiamo un disco 
nuovo eseguendo il comando: 
OPENl5,8, 15,“N0:PIPPO,00" 
:CLOSE15 

per fare in modo che tutto ciò che sarà 
detto tra breve sia identico, per le prove 
che farete a casa vostra, per qualsiasi 
disco. 

Fatto questo, caricate il DISPLAY 
T &S e andate a leggere il contenuto della 
traccia 18 settore t) che, come detto pre- 
cedentemente, contiene la BAM, la 


mappa di occupazione dei settori. 

I primi due byte, come facilmente ri- 
scontrabile anche dalia figura 4, conten- 
gono i valori S12 (18 in decimale) e $01 (1 
in decimale), indicanti al DOS che il 
prossimo settore da leggere è il n, l della 
traccia 18, Seguono il byte indicante il 
formato dell'umtà ($41, 65 in decimale, 
codice ASCII della lettera A) ed il byte 
non usato che contiene il valore 0, 

Nella BAM vera e propria {byte dal 4 
al 143) possiamo vedere che effettiva- 
mente tutti i settori del disco, tranne t 
numeri U e 1 della traccia 18, sono liberi 
per le registrazioni (infatti il disco è stato 
appena formattato) e che i settori non 
esistenti sono codificati come già occu- 
pati (vedasi a tal proposito il byte n. 7, 
contenente il valore £ 1F, “3 T’ in decima- 
le e 0001 1U1 in binario, indicante che i 
settori n. 16, 17, 18, 19 e 20 della traccia 1 
sono liberi per le memorizzazioni, men- 
tre quelli ii. 21, 22 e 23, che in realtà non 
esistono, già “occupati"). 

Sempre tn questo settore possiamo ve- 
dere che effettivamente il nome del disco 
(PIPPO) è memorizzato con raggiunta 
di spazi shi flati ($AQ, 160 in decimale) 
nei byte dal 144 al 159 ($90 - $9F), che i 
due caratteri della ID sono presenti nei 
byte 162 e 163 ($A2e$a3)eche i byte dal 
167 al 255 ($A7 - $ff) non sono utilizzati 
(infatti quasi tutti contengono il valore 
0 ). 

Questa è la situazione presente quan- 
do il disco è “vuoto", cioè appena 
formattato. 

Vediamo ora cosa succede nel mo- 
mento in cui si registra il primo program- 
ma. A tal proposito, dopo aver effettua- 


to il NEW per cancellare gli eventuali 
programmi presenti in memoria, digitia- 
mo la linea: 

10 REM PROGRAMMA DI PROVA 
e la salviamo su disco col comando: 

SA VE “PROVA", 8 

Fatto questo, andiamo a leggere, dopo 
aver ricaricato DISPLAY T&S, il conte- 
nuto della traccia 18 settore 1 che, ricor- 
do, contiene tutte le informazioni dei 
primi 8 file registrati, tra cui ora figura 
“PROVA”, 

Come si può constatare anche dalla 
Fig 5, i primi due byte del settore conten- 
gono i va lori De 255 (SOOeSFF) indicanti 
che questo è Tultimo settore (e perciò 
anche l’unico) utilizzato per la definizio- 
ne dei file registrati. 

Subito dopo abbiamo il valore 130 
($82) indicarne che siamo in presenza di 
un file programma, seguito dai valori 17 
($11) e 0 ($00) che ci informano che il 
primo settore utilizzato per la registra- 
zione del programma è il n, 0 della trac- 
cia 17. 

A seguire troviamo il nome del pro- 
gramma (PROVA nel nostro caso) com- 
pletato da tanti spazi stilila ti quanti ne 
occorrono per raggiungere i 16 caratteri 
(11, dato che il nome PROVA è di 5 
caratteri) unitamente ad altri byte, dal 21 
($15) ai 29 ($1D), contenenti il valore 0, 
in quanto non utilizzati in questo caso. 

Gli ultimi due byte (30e 31, $1E e $1F) 
informano che il programma occupa in 
tutto 1 blocco (1+0*256), 

Ritornando alla traccia 18 settore 0 
dopo la registrazione del programma, 
vedremo che nella BAM gli unici valori 
variati sono quelli contenuti nei byte 68 


I BYTE I DE3CR 12 IDfC | 

h 4 ■ 4 

I 0 - 1 (PROSSIMO BLOCCO DA LEGGERE 1 
! £ * 31 [ENTRATA 1' FILE DIRECTORY 
134 - 63 [ENTRATA 2' FILE DIRECTORY | 
166 - 35 (ENTRATA 3 1 FILE DIRECTORY 
198 ^127 [ENTRATA 4' FILE DIRECTORY ( 
I 130-159 [ENTRATA 5' FILE DIRECTORY 
1162-191 | ENTRATA 8' FILE DIRECTORY | 
|iS4~£23 [ENTRATA 7 1 FILE DIRECTORY 

1226-855 [ENTRATA 8* FILE DIRECTORY | 

l l 

Figura J. Descrizione della traccia IH settore I. 


58 - Commodore Computer Club 


L’ UTILE 


[ BYTE T DESCRIZ IONE 1 


h 

+ 

“M 

i 0 

1 TIPO DI FILE 

] 


l 0 -FILE CANCELLATO (DEL) 

i 


[ 129=F ILE SEQUENZIALE (SEQ) 

i 


t 130=F ILE PROGRAMMA (PRG ) 

1 


I 13 1 -F ILE USER <USR> 

I 


I 132 -F ILE RELATIVO (RED 

i 

) 1-2 

ITRACCIA-SET. 1’ BLOCCO PATI 

i 

f 3-18 

(NOME DEL FILE 

I 

1 19-20 

}PER I FILE RELATIVI TRACCIA 

I 


1E SET. DEL PRIMO SIDE SECTOR 1 

1 £1 

ÌPER I FILE RELATIVI LUNGHEZ 

- 1 

f 

|ZA DEI RECORD 

i 

| £2-25 

jBYTES NON UTILIZZATI 

i 

| 26-26 

1 TRACCI A E SETTORE DEL FILE 

i 


|RIM=IAZZATQ (60 5 FILE ) 

i 

I 28-29 

I BLOCCA I DEL FILE BYTE BASSO 

- 1 

L 

ÌBYTE ALTO 

_L 

1 

i 


Figura 4. Contenuto della Traccia 18 seno re 0 dopo la formattazione. 


(144) e 69 ($45), relativi alla mappa di 
occupazione dei settori della traccia 17. 
Infatti i valori ora presenti sono $14 (20 
in decimale), indicanti che nella traccia 
17 sono liberi solamente 20 settori e $fe, 
254 in decimale e 11111110 in binario, 
indicante che il settore 0 di questa traccia 
è già occupato, 

Volendo ora esaminare come real- 
mente è stato registrato il programma 
PROVA, dobbiamo semplicemente vi- 
sualizzare il contenuto della traccia 17 
settore 0 che, come visto prima, è il pri- 
mo settore utilizzato per la memorizza- 
zione del file in oggetto. 

1 primi due byte di questo blocco pun- 
tano al settore 30 (S1E) della traccia 0 
($00) e, dato che non esiste alcuna trac- 
cia 11, comprendiamo subito che solo in 
questo settore è stato memorizzato il no- 
stro mini programma. 

Subito dopo abbiamo i valori 1 e 8 (SOI 
e $08) costituenti il byte basso ed il byte 
alto della locazione iniziale dove risiede- 
va il programma al momento del salva- 
taggio (1 +8*256= 2049, il normale inizio 
del programma Basic, nel Commodore 
64). 

Dal byte n, 4 in poi troviamo esatta- 
mente il programma cosi come codificato 
in memoria centrale (byte di link, to- 
kens, ece.), concluso della presenza di 
tre byte contenenti il valore 0 posti uno di 
seguito all’altro. 

Dopo l'esame dì ciò che accade con la 
registrazione dei programmi, vediamo 
ora cosa succede quando impartiamo il 
comando: 

OPEN 15,8, 15, "SO: PROVA*" 

:CLQSE 15 

mediante il quale si ottiene la cancella- 
zione del programma PROVA prece- 
dentemente registrato. 

Visualizzando il contenuto della trac- 
cia 18 settore 1 possiamo notare che l'u- 
nica differenza intervenuta dopo Tesecu- 
zione dello SCRATCH è la comparsa de! 
valore 0 nel byte $04 (4 in decimale) in 
luogo del valore 130 ($82) originario. In 
questo modo il DOS comprende di esse- 
re in presenza di un programma cancella- 
to (al codice 0, infatti, corrisponde il si- 


gnificato di file cancellato) e di ignorare 
tutte le altre informazioni relative a quel 
determinato file. 

Inoltre, nella BAM possiamo vedere 
che i valori ora presentì indicano che an- 
che il blocco usato precedentemente per 
memorizzare il nostro mini programma 
(traccia 17 settore 0) è ora libero per la 
sovrascrittura, 

Impiegando la stessa tecnica usata in 
questi esempi è possibile estendere lo 
studio appena fatto a tutte le possibili 
situazioni che possono venire a crearsi 
(programmi occupanti più di 1 blocco. 


che per farlo in questa sede sarebbero 
necessarie molte più pagine di quelle 
possibili con il pericolo di rendere il tutto 
molto noioso, consiglio gli interessati di 
effettuare personalmente questo "studio 
supplementare", utilizzando magari i 
momenti vuoti (!) della propria giornata. 
Prima di concludere vi anticipo che pros- 
simamente esamineremo alcuni comandi 
che permettono di colloquiare diretta- 
mente con i singoli byte di qualsiasi bloc- 
co unitamente ad alcuni programmi di 
utilità coi quali vedremo come poter usa- 
re in pratica tutte le nozioni finora 


file sequenziali e relativi, &x.) e, dato apprese. 



Vinóne frontale di quello che appare m protagonisti del 
viaggia nel computer nel film Tran Ogni inquadratura 
richièdeva da 5 a 7J milioni di calcoli Ogni minuto del 
film , diretto da Jifirit Lif terger, è composto da 1Ì4Ò 

Copyright F W81 Wal! Disney Produci ioni 


Commodore Computer Club - 59 



GIOCHI 



uesto simpatico gioco metterà affa 
prova le vostre capacità di intuizione e di 
ragionamento. 

Possono usufruirne lutti coloro che 
possiedono un computer Vie 2(J, anche 
se privo di espansioni di memoria. 

[| calcolatore vi chiederà, inizialmen- 
te. quanti errori può tollerare prima di 
porre termine alla prosecuzione del 
gioco. 

Il vostro obiettivo è riuscire ad indivi- 
duare una parola scelta dal computer Ira 
quelle che ha a disposizione 
inizialmente. 

Le regole vi pongono un’unica limita* 
zinne, non potete fornire, in fase di IN* 
PUT* piu di una lettera alla volta 

Le lettere già prescelte compariranno 
nella zona inferiore del vostro video. 

Buon gioco e aguzzate il vostro 
inee gxio! 


60 - Commodore Computer Club 



GIOCHI 


3130 PR I NT " [ HOME ] SEI IMBRANATO ! 

“SPRINT" 

3140 GOTO 4010 

4000 IF WtOLÌ THEN 3000 

4010 PRI NT "[HOME] [DOWN]"; TAB < IND ) ; 

4020 FOR 1=1 TD LN 

4030 SPRINT " M C3 LEFT] [ DONNI [RV3 ] 

| ">MID*<WS,I , 1 X " tRVOFFJI 13 LE 

FTHDOLIN] ■[RVS J.tRVQFF ]* C2 UF'] 

Il • 

f 

4040 NEXTI 

5000 PR INT" [HOf'E ] 1 14 OOUNIANCORA? " 

m 

r 

5010 GOSUB 60000: IN*=LEFT*CIN* , 1 ) 

5020 IF IN*="S" OR IN*="" THEN 1500 

5030 END 

9337 GOTO 1500 

3333 PRI NTs FRI NT 

3333 END 

30000 REM -«-TABELLINA DELLE PAROLE 

30010 DATA VECCHIO , OGGETTO , LAVORO ,A> 
TISI ANO, GRAZ I OSO , NATALE ,ORGAN 
ZZAZAZ IONE, TRE 

30020 DATA TELEFONO ,MODICO,M IN IATURE 
, PENS I ERO , CER AM I C A , BAMBOLE , MAT 
R I MQN IO, VASO 

30030 DATA PIATTO, ANFORA, GRAF ICO ,ACQ 
UAR IO, ALBUM, UNO, DUE, TREDICI ,RE 
PUBBLICA, VISO 

30040 DATA COLLEZ IONE , FRANCOBOLLO ,F I 
LATEL I A , MONETA , CAMPAGNA ,CUCC IO 
LATA , GATTO 

30050 DATA G ABBI A, G I OCH I , AUTOMODELLO 
, ALIANTE, PLASTICA, TECNIGRAFO, A 
RTE, BELLO, ELMO 

30060 DATA PERGAMENA, FIORI FIORISTA, 
ELETTRONICA, PROFESS IONALE ,COMP 
UTER, OTTIMO 

30070 DATA CRI STALLO, CALORI FERO, GHIS 
A ,STAB ILE ,PREZ IOSI DIAMANTE, OR 
0 , VALORE ,B IRÒ 

30080 DATA PIZZA, PIZZERIA, RISTORANTE 
,TRANS IS TORE , ANTE W4A, RAD IO AMAT 
ORE, VI STA 

30090 DATA V ITTORI A, NATALE, FESTA, DOC 
CI A, PORCELLANA, IDRAULICO, PORTA 
,VERNICI ATURA 

30100 DATA FLUORESCENTE PIASTRELLA ,P 
ATENTE ,STENOGRAF I A, SPORT, SPORT 
IVO, CORSA 

30110 DATA TESTO , COLORE , TELEV IS IONE , 


FINANZ I AMENTO, AUTOMA2 IONE, UN IV 
ERSITA,AI<NO 

30120 DATA PAG INA, TERMINALE, RI CERCA, 
DISTRIBUZ IONE, CLIENTE , SYSTEM, C 
ONSIGLIO 

30130 DATA VIS ITA, VOLUME ,L IBRO , TESTO 
,RIVISTA, GLORIANO, DATI , ELABORA 
TORE, RUM, GIN 

30140 DATA GRAPPA, PREZZO, APERTO, APER 
TURA, PORTO, TRASMISSIONE ,V INO ,B 
OTTI GLI A, TAPPO 

30150 DATA FINE, FINALE, TERMI NE .USC IT 
A, CHISO, CHIUSURA, STOP , ARR IVO .0 
CCHIO, GIORNO 
33000 DATA H ” 

S0000 IN*=“ “ iZT=TI:ZC=2:ZO*=CHR*<20 

) 

60010 GET Z*:IF Z*<>" 0 THEN 60070 
S0020 IF ZT< =T I THEN RRINTMID*<" , 
ZC, 1 >; " ILEFT1 •; :ZC=3-2C:ZT=TI+ 
15 

60030 GOTO 60010 

60370 Z=ASCCZ*> :ZL=L£N< IN*) : IF <Z AN 
D 127X32 THEN PRINT" ILEFT I " t 
S GOTO 60110 

60033 IF FL AND <Z AND 127) >64 AND < 
Z AND 127X91 THEN Z*=CHR*<(Z+ 
128) AND 255 > 

60030 IF 2L >254 THEN 60010 
60100 1N*=IN*+2*:PRINTZ*;ZD*;Z*; 
60110 IF 2=13 THEN IN*=MIO*< IN*, 2 > : P 
R1NTCR*; ! RETURN 

60 120 IF Z=20 AND ZL>1 THEN IN*=LEFT 
*< IN*,ZL-1 ) SPRINT" ELEFT] :GOT 
0 60010 

60130 IF Z = 14 l THEN Z*=CHR*( -20* r ?l > 
1 ) > s FOR Z =2 TO ZI, SPRINT?*» !NF W 
TZ S GOTO 60000 
60140 GOTO 60010 
60200 IF PN=0 THEN GOTO 60250 
60210 PRINT" IDONNJPREMI IRVEIRETURNI 
RVOPFJ PER "? 

60220 IF PN«LP THEN PR INT" INI Z I ARE " 
* s GOTO 60240 
60230 PR TNT*CONTINUE : "s 
60 243 GET T*:IF T*= " " THEN 60248 
50250 IF PN*LP THEN POKE 53468, FK:CL 
R SPRINT" ICLEAR 1"; SGOTO 100 
60260 PN-PN+1 SPRINT" ICLEAR ] "JPG3U * - 
*H*- ^2-' I -*H*~ t#-»-) 197 

3ID0LM]" 

60270 RETURN 


Commodore Computer Club -61 


GIOCHI 


10 CLR SPORE 36873, 1£ 

£0 PR INI" tCLEAR J LHOME 1 " 1030 

90 FG$= "PAROLE " 

4 03 CR$-CHR$< 13 > 1040 

900 PRIMI 
1000 UJC = 0 

1010 READ T$:IF T$O w " THEN WC-WC + 1 1050 

t GOTO 1010 

1015 PRIMI" 13 UP J MI NI SYSTEMS 1060 

EDITORIALE 1070 

1016 FRINÌ" [£ DOUT4J **i **t **** 1080 

1017 FRINÌ" * PAROLA * 11 

1018 FR I NT" ********** * 

} 020 FRINÌ" COOUN 3 l BIANCO! QUANTI ER 1500 

PORI DEVO AMMETTERE AL MAH 


> 1510 



Ì5£0 
1535 
E 000 


£0£0 

£030 

£040 

£080 


3000 


3005 


3006 


3010 
30 12 
3015 
3080 
3030 
3040 

,3050 


3080 

3080 

3090 

31O0 

3110 

3 1 £0 


?“ SPRINT “12 DOWN3A TE ? " ; 
GOSUB S0000 : IF JN*="" THEN LIM 
= 1 E2 : GOTO 1500 

FOR 1=1 TO LENUN*) sT*=MID*<IN 
*, 1 , 1 > : IF T*>= "0 " AND T*< = "9 ’ 
THEN 1060 

PR I NT “ NON LETTERE PREGO” SGOTO 
1020 : 

NEXT1 

LIM=VAL< IN*) 

IF L I M< 1 THEN PR I NT "NESSUNO PO 
TREBBE FARE DI MEGLIO !":GO 
TO 1020 

T= I NT < RND C 1 )*UJC> + 1 sRESTORE sFO 
R 1=1 TO T: READ U*:N£XTI 
LN=LEN<Wt) :LC=LNs BL*=MID*C " " , 
2-CLN AND i)) 

LIR=0!PRINT 

IF LN>7 THEN 1500 

FRI NT” [OLEARI LA " *BL*J "PAROLA 

Il » 

* 

FOR 1=1 IO LN 

PR INI" j — ,[3 LEFTHDGhlH] |? [C3 L 
EFT 1 1 D014NJ i—J C2 UPJ"; 

MEXTI SPRINT 

FRI NT " [ 7 DOmì ** Gl A' SCELTE 

**" 

PR I NT M [HOPEH5 OOWJirCOV INA: 

U m 

r 

PRINTLEFTSC " 

" ,LEN(L$ 

) + 1 > 

PRÌNT W CUPI IMBOVINA: ** ; ; GOSUB 6 
0000 : L$= IN$ 

IF LEN<L$)>1 THEN 4000 
IF im= u * THEN 4010 
IF L$<"A" OR L$ > "Z " THEN 3000 
M=0 SPRINT" [HOMEHDGUNJ "f 
FOR 1=1 TO LN 

IF MID£<UJ$, I , 1 >OL$ THEN PRINT 
,r 1 3 R IGHT ] " ; : GOTO 3060 
PRINT" w t3 LEFTnOQWNJ [RVSJI " 
;L$; "IRVOFF ]| [3 LEFTirDOWN] P [R 
VSWRVOFF J» [£ UP J n ; :M^M+ULC = 
LC-1 

NEXTJ SPRINT 
IF M>0 THEN 3100 
WR=WR+i 

PR I NT " C HOhC J I S DOLNHRVSJ TA 
B < ASC <L$) + 1 ); Lì; " IRVOFF J " 

IF LC~0 THEN 5000 
IF 14R<LIM THEN 3000 


62 - Commodore Computer Club 


GIOCHI 


QUALSIASI COMPUTER 



di Diego e Federico C arietta 


1 1 gioco che presentiamo è molto sem- 
plice dal punto di vista della programma- 
tone, per cui anche i lettori meno esperti 
potranno facilmente capirne la struttura. 

Sono presentati tre listati separati, 
adatti per il C64. il C16 e il V1C 20 
inespanso. 

Spieghiamo innanzitutto come si svol- 
ge il gioco. Dopo aver dato il RUN, ap- 
parirà una domanda relativa alla velocità 
del gioco: se viene battuto direttamente 
il tasto RETURN, viene automatica- 
mente scelta una velocità media. À que- 
sto punto apparirà sullo schermo una gri- 
glia con tutte le lettere dell'alfabeto. Al- 
cune lettere verranno successivamente 
illuminate e voi dovrete scrivere la parola 
che avrete individuato. Se la parola è 


giusta, si illumineranno le lettere per una 
successiva parola, altrimenti verrà segna- 
lato Terrore insieme alla parola giusta. 

Passiamo ora alla descrizione dei 
listati. 

La riga 100 definisce i colori di bordo e 
schermo. 

Le righe 110 e 120 servono per ca ricare 
nelle variabili À$ le parole contenute 
nelle righe DATA da 470 a 510. 

Se volete cambiare le parole, potete 
farlo, ma mantenendo sempre lo stesso 
numero di lettere delle parole sostituite. 
Potete anche aggiungere nuove linee 
DATA con altre parole, ricordando di 
mettere uno 0 nell'ultima riga (vedere la 
riga 510) e cambiando il ciclo FOR pre- 
sente nella riga 120; inoltre occorre cam- 


biare il dimensionamento della variabile 
A$ nella riga 110. Ad esempio, se vengo- 
no aggiunte 2 righe, occorrerà scrivere 
FO RT=ITQ7 e DIMAS (7,10), 

La riga 130 legge la velocità voluta, 
mentre dalla riga 140 viene scelta (ca- 
sualmente) la parola da scrivere. 

A questo punto il controllo del pro- 
gramma passa alla riga 270 ed alle se- 
guenti, che provvedono a stampare la 
griglia con le lettere sullo schermo. 

La riga 370 restituisce il controllo del 
programma alla riga 150, che provvede, 
insieme a quelle che seguono, ad illumi- 
nare in sequenza le lettere. 

Il resto del programma è facilmente 
comprensibile. 


Commodore Computer Club - 63 



GIOCHI 


50 REM ALFABETO PAZZO 
60 REM SOFTWARE DI 
70 REM FEDERICO CANETTA 
30 REM PER COMMODORE 64 
30 : 

100 PR INT" CCLEAR 3 IBLEO 3 " i POKE 5328 
0,0! POKE 53281,0 
110 DIM A4<5 , 10 > 

120 FOR T= 1 TO 5 s FOR T 1 = 1 TO 3! REA 
D A$:A4<T,T1 )=A*: NEXT: NEXT 
130 PRINT" [OLEARI t 17 R IGHT 130 " : INP 

UT " [HOME! VELOCITA ' U-60) *;VE: 
IF VE < 1 OR VE >60 THEN 130 
140 VE = 100 -VE ! FOR L I =0 TO 9:F0R TI 
= 1 TO 9 : T= I NT < RND ( 0 > *4 > + I s A =L£ 

M(A*CT,T1> ) :GOSUB 270 
150 PR INT" [HOME 1 1 A2ZUR 1 C7 RIGHT1AD 
ESSO SCRIVO LA FAROLA " i FOR F=0 
TO 1000: NEXT 

160 FOR P=1 TO A!B=A3C<MI04CA4<T,T 
l > ,P , 1 ) > : IF 8 <73 THEN 0=55467 + 
(B -65 > *£ 

170 IF B >72 AMD BOI THEN 0=55547 + 
<B-73>*2 

130 IF B >80 ArC B<33 THEN 0=55627 + 

<B-81 > *2 

130 IF B >33 THEN D=55707+ <B-89 ) *2 
200 POKE 0,1! GOSUB 460: FOR F =0 TO 
VE ! LEXT : POKE D ,6 : FOR F=0 TO VE 
s NEXT ! NEXT 
210 PRINT” tHOhCl 

" : PR I NT * 1 1 7 DONNI 

il 

220 II4PUT "CHE PAROLA ERA"JB* 

£30 IF B4<>A*CT,T1) THEN 330 
240 PR INT" [ROSSO IOK IAZZURI FOR F= 
0 TO 300i NEXT 

250 NEXT ! FOR F=0 TO 1000 : NEXT: 1CXT 
260 EM3 

270 PR I NT " ECLEAR1 [ BLEU I [ 3 OOUM3I10 

RI6HTI . . " 

£30 PR INT " [ 10 RIGHT] |A |B IC IO IE (F |G 
IH I " 

230 PR INT" 1 10 R IGHT1 I — | — I — I- < — | — | — 

4 — 1 " 

300 PR INT" I 10 R1GHTI 1 1 | J |K IL |M|N|0 
IP I* 


310 PRINT" t 10 RIGHT1 I I I I I I f- 
4—1” 

320 PRINT" 110 RIGHT3 |G IR IS IT |U |V |W 
IX |" 

330 PRINT" [16 R 1 GHT3 I I I 1 1 1 1 


340 PRINT" [3 RIGHT3 [Y |2 IN • 

LET, =* A: PRINT" CUP 3 [26 RIGHT] 1" 

350 PRINT" t3 RIGHT!' — ' — ' 

i » 

360 PRINT" [ 1 1 DOWN] [Gl ALLO 3ERR0RI 
= "ER 

370 RETURN 

380 PRINT" IUP IMI DISPIACE LA PAROL 
A ERA ";A*<T,T1 >!ER=ER+1 ! IF ER 
=3 THEN ER=0 : GOTO 400 

390 FOR F =0 TO 1000! NEXT: GOTO 250 

400 1=1+1 :IF 1=6 THEN 1=1 

410 FOR F=0 TO 1000 :NEXT!PRINT* [CL 
EARH11 OOWNltG R IGHT3F INE DEL 
GIOCO" 

420 FOR F =0 TO 1 000: NEXT: FRI NT " [CL 
EARH3 DONNI £5 RIGHTIVUOI GIOC 
ARE ANCORA ?" 

430 GET A4: IF A4<>"3" AMI A4<>"N" 
THEN 430 

440 IF A4="N" THEN PRINT" [3 DOWN 3 [ 
3 RIGHT3 ICLEAR JC1A0":EIM3 

450 GOTO 130 

460 5=54272: POKE S+24,I5:F0KE S+I, 

1 10: POKE 5+5,3 

470 POKE S +6 ,3 : POKE 3+4,l?:ROKE S + 
4,16: RETURN 

480 DATA APE, CLUB, EDERA, ATTI CO, BAN 
DITO, GIACINTI , BATUFFOLO ,CASSAP 
ANCA 

490 DATA AGO, MODA, FIBRE .CHI AVE, CHI 
. AZZE , SPREMUTA -CAPPUCC 1 0 ,SOPRAN 
NOME 

500 DATA SUD, NOTA, GATTI , GABBIA .RAF 
FICA, BRICCOLE, INOUSTR IA,M1CR0S 
COPI 

510 DATA TRE, SETE, IGLOO, SLALOM, PRI 
MA TO , DE C ADU TO , SPERO I URO 

520 DATA NOI CIAO , TACCO , GELARE ,GAT 
T 1140 f GRAZ 1 OSO, ERMETISMO, IMPORT 
ANTE , 0 


64 - Commodore Computer Club 



GIOCHI 


30 REM ALFABETO PAZZO 
95 REM VERSIONE C-iS 
37 REM ì PLUS -4 
100 PR INT’jJS' 1 : COLORO , 1 ! COLGR4 , 1 
110 D1MASC5, 10) 

120 FORT= I T05 i FORT 1 = 1 T08 ! REAOASt A$<T, TI ) =A$: NEXT:NEXT 

130 PR 1 NT ■ ; M MII 1 ——WB B * ; I NPUT “ìft'ELOC 1 TA ' ( 1-60) ”;VEs IFVE< 10RVE >60THEN130 

140 VE = 100 -VE :F0RT2 =0105: FORTI = 1T08: T= 1NT<RND <0> *4 ) + 1 : A=LENCA$<T,T1 ) ) 1GOSUB270 

158 PR1MT“ 1MW— W1 AOESSO SCRIVO LA PAROLA " 1 FORF =0TO 1 000 : 1CXT 

I SO FORF = ]TOA:B=ASCCMIDSK ASCIATI ) ,F, 1 ) ) i IFB<73THEND=££19+ (B-65) *2 

170 I FB >7£ANDB< S 1 THEN0=££33 + <B -73 ) *2 

180 JFB >80ANOB<83THENO=£379+ (B-8 1 ) *2 

130 IFB>83THEND=£459+<B-89)*£ 

200 PCKEO , 1 tGOSUB4B0:FDRF = 0TOVE : NEXT: POKED ,70 :FORF=0TOVE : NEXT: NEXT 

280 INPUT* CHE PAROLA ERA * ; B* 

£30 IFB$< >A$(T,T1 3THEN380 
£40 PRlNT*3DKk." :FORF=0TO300 iNEXT 
250 TEXTtFORF=0TO 1000 = NEXT: NEXT 
£08 END 

270 FRINT’LCTM— — M i i r i r t r- r- l' 

£80 PRINT* iM— WHH fl |B |C IO |E |F |G IH | " 

290 FRlNT’MHiWHII - -(— < - ■ f 4 ■ ( ■ I I C 
300 PR 1 NT * IHWItHM 1 1 |J |K IL (MINIO |P 1 " 

310 PR INT’IMMMMM I I I I I I I I I" 

320 pr iNT"uuuunnm iq ir is it iu iv iw ix i * 

330 PR INT'imnmH I — I — I — 1 — >— ‘ — L 1 I “ 

340 PR INT" IMI IY IZ IN » LET. = "ftiPR 1NT" 0— ——— — ——— — I " 

350 PRINT* IH { — — i ‘ * 

370 RETURN 

380 PR INT”D'1I DISPIACE LA PAROLA ERA * *A$(T,TI > !R=R+1 ! IFR=3THEHR=0 : GOTO400 
330 FORF =0TO1 000 =NEXT= GOTO250 
400 1 = 1 + 1 : !FI=GTHENI=I 

410 FORF =0TQ 1000 :N£XT!PR !NT* LlBllMIMRiMllMB & <>MtMF INF DEL GIOCO" 

420 FORF =9T0 1 000 '■ h-EXT : PR I NT " .«MW^ UOI GIOCARE ANCORA ?" 

430 GETA*ì IFA$O*S"AN0A*< >"N"THEN430 

440 lFAS=*N"THENPRirTrWBMSSll*MJCIAO" iENE 

450 GOTO 130 

460 V0L3: SQUM31 ,300,5 = RETURN 

470 DATAAPE, CLUB, EDERA, ATTICO .BANDITO GIACINTI , BATUFFOLO, CASSAPANCA 
430 DATAAGO ,MODA ,F IBRE,CH IAVE , CHI AZZE ,SPREPRJTA, CAPPUCCIO ,SOPRANNOPE 
430 DATASUD , NOTA ,GATT I , GABB I A ,RAFF I CA ,BR ICCONE , INCUS TR I A ,M ICROSCOP I 
500 DATA TRE, SETE, IGLOO, SLALOM, PRIMATO DECADUTO, SPERGIURO 
510 DATANO I, CIAO, TACCO, GELARE, GATT INO GRAZIOSO, ERMETISMO, IMPORTANTE, 0 


Commodore Computer Club ■ 65 


GIOCHI 


60 REM ALFABETO PAZZO 
70 REM SOFTWARE DI 
80 REM FEDERICO CANETTA 
90 REM VERS, VIC 80 INESPANSO 
95 ! 

100 PRINT" ICLEAR ] ° SPOKE 36879,87 
310 DIM A$<5, 10) SPOKE 36874,200 
180 FDR T= 2 TO 5sF0R TI=1 TO 8: REA 

D A#: A*<T,T1 )=A*:M:XTiNEXT 
130 FR INT" ICLEAR ] C I 7 RIGHTI30 • s Ihp 

UT * [HOMI JVELOC ITA 1 ( 1 -80 > " I VE i 
IF VE< 1 OR VE >60 THEN 130 
140 VE= 100-VE : FOR L I =0 TO 9sFOR TI 
= 1 TO 8 sT= INT <RKE(0 )*4>+l 
144 A=LEN<A*(T,T1 ) ) : GOSUB 270 
150 PRINT" IHOf'EIORA SCRIVO LA PARO 

LA" :FOR F=0 TO 1000:KEXT 
160 FOR P=1 TO A:B=ASC<MID*(A$<T,T 
1 ) ,P, 1 >> ! IF B< 73 THEN 0=38489 + 
(B-G5)*2 

170 IF B >72 AND B<81 THEN D=385H + 
££+<B-73>*2 

180 IF B >80 AND B<89 THEN 0=38533 + 
44 + < B-8 1 >*2 

190 IF B >88 THEN D=38G21 +<B-89>*£ 
£00 POKE 0,1: GOSUB 460:FOR F=0 TO 
VE : ftXT : POKE 3G878,0:POKE D,6: 
FOR F =0 TO VE SNEXTi NEXT 

210 PRINT" [HOME! 

" : PR I NT " t 1 0 DOW]" 

220 INPUT “CHE PAROLA ERA " ; B* 

230 IF B$OA$(T,Tl> THEN 380 
240 PR INT 11 OK 0 : FOR F=0 TO 300: NEXT 
250 NEXT : FOR F=0 TO 1000 s hEXT: NEXT 
260 END 

270 PRINT" ICLEAR] r3 D0UN1 , — , — , — , — r 

II 

— i — i — r*~i 

280 PRINT" |A |B |C IO |E |F |G IH I" 

230 PRINT* | — | — | — |— | — | — | — ) — |* 

3B0 PRINT" 1 1 |J |K IL IMfN |0 |P |" 


310 PRINT»! I I I I | - - - 4 - t — | - 
320 PRINT" 1Q |R |S IT IU IV IW|X |” 

330 PRINT"| — I — I — 1 — 1 — « — 1 — 1 — I" 

340 PRINT" |Y|Z |N* LET.="A:PR INT" CU 
PII 16 RIGHT1 |" 

350 PRINT"*— i—i 1” 

360 PRINT" 15 DOUNIERRDRI = "ER 

370 RETURN 

380 PRINT" ILIPIMI DISPIACE LA PAROL 
A ERA ";A*<T,TD sER=ÉR+l! IF ER 
=3 THEN ER=0 JGOTO 400 
330 FOR F =0 TO 1000 : NEXT : GOTO 250 
400 1=1+1 t IF 1=6 THEN 1=1 
410 FOR F =0 TO 1000: NEXT SPRINT" CCL 
EAR 1 1 1 1 00UM1C6 RI6HT3FINE DEL 
GIOCO* 

420 FOR F =0 TO 1000 : NEXT SPR INT" ICL 
EAR ] 13 DOWNIG IOGHI ANCORA (S/N 
>?" 

430 SET A*!IF A*0"S" AMD A*<>"N" 
THEN 430 

440 IF A$="N" THEN PRINT" 13 D0UN3I 
3 RIGHT] ICLEAR JCIAO "SEND 
450 GOTO 130 
460 POKE 36873,15 

470 RETURN 

480 DATA APE, CLUB, EDERA, ATT ICO, BAN 
DITO ,G IAC INT I /BATUFFOLO , CASSAR 
ANCA 

490 DATA AGO, MODA, FIBRE, CHIAVE, CHI 
AZZE /SPREMUTA ,CAPPUCC IO ,SGPRAN 
NONE 

500 DATA SUD, NOTA, GATTI , GABBIA, RAF 
F ICA, BRICCONE, 1NDU3TR I A ,M1CR0S 
COPI 

510 DATA TRE , SETE, IGLOO, SLALOM, PRI 
NATO , DECADUTO , SPERG IURO 
520 DATA NOI ,CI AD, TACCO, GELARE, GAT 
TINO, GRAZ IOSO, ERMETISMO, IMPORT 
ANTE ,0 


66 - Commodore Computer Club 


GIOCH I 


CONFUCIO 


V 

T i proponiamo lina nuova versici 
grafica del celebre gioco delle toni d 
hanoi. 

Questo game è destinato agli utenti d 
Commodore 16 e 64, 

L'obiettivo è riuscire 3 trasferire tutti 
disconi dalla postazione numero 1 a quel 
la contrassegnata con la cifra 2 oppure 3 
Non è consentito muovere più di una 
sfera alla volta ed è proibito porla al di 
sopra di una avente dimensioni inferiori 
ad essa. 

Queste sono le uniche limitazioni che 
devono essere rispettate da chi si cimenti 
con questo appassionante gioco. 

Il numero dei discorri può variare da 
un minimo di 2 ad un massimo di 7, 
Aumentando il numero delle sfere assi- 
steremo ad un incremento del livello di 
difficoltà. 

Buon divertimento. 



4 CLR s PK = 12 

98 PG$= ■ NANO I " 5 LP « 1 : CR* =CHR* < ì 3 ) 
108 T$- - ERVOFF 1 ERVOFF 3 _ ERVOFF 3 _E R 
VDFF 3.ERV0FF 3»[RVS J"ERVS 3“CRVS 

105 8$-" [RVS3_[RVS3_[RVS3«[RVS3*ER 
VOFF 3“[RV0FF J“[ RVOFF ]^CRVQFF J 

H 

106 CC$= 11 E FERO 3 CROSSO! E AZZUR ) [V 10L 
A 3 [ VERDE H G I ALLO 3 E ARANC 3 EMARR ì 
t ROSA 3 [GRIGIO! 3 [GR IOIDE 3 E VERDE 
8 ] [CELESTE 3E GRIGI 03 3" 

130 DIM TP$f8) ,T$(S> ,BT$<8> r BSC8) , 
C0$( I3> 

111 FOR 1=0 TG 13sq0$( I >=MID$(CC^ 
I + 3 , 1 ) S NEXT 
120 FOR 1=1 TO 3 

130 C$=MID$<T$ ,2*1 , 1 > :C*-t$+C$+C$: 

C$ = M+C$+C$:C$=LEFT$(C$+C$,14> 
140 TP$C I ) =MID$<T$ ,2* 1-1,1) +C$ 

150 C*=MID*(B*,2*I A >sC*»C*+C*+C$: 


e$=C$+C$+C$:C$=LEFT$CC$+C$, 14) 
160 BT$< I >=MID«<B*,2*I-1,1>+C* 

170 NEXTI 

000 L£='[RVS3 ERVS3I ERVS3I ERVGFF] | 
ERV0FF3 * 

218 R$-"[RV0FF3 CRVOFF 3| ERVOFF 3| ER 
VSJ IERVS3 11 
228 DIM LF$<5) ,RT$<5> 

230 FOR 1=1 TO 5:LF*< i >=MID$CL*,2* 
1-1 ,23 :RT$ CI >=M1D«< R* 1 2*1-1 ,£> 
5F£XTI 

300 €R^=CHRSU3 3 

490 PRINT" ECLEAR3 " 

* 

500 PR 1 NT 11 E D0I4M 3 QUANTT I DISSONI (MA 
SS IMO 73 ? " ? i GOSUB 60000 
516 IF im=* n THEN 500 
560 N=VAL< IN*>: IF N>7 THEN PRINT"E 
NERO 3PREG0 s [VIOLA 1N0M PJLT DL 
7 . [NERO 3 " * GOTO 500 : 

570 IF NO THEN PR I NT " E VERDE 3 NON E 


Commodore Computer Club -67 



GIOCHI 


SSERE REDI COLO ! EhERO J " S GOTO 5 
00 

300 DN$= * [HOME 3 120 DOl-H} 1 * 

310 RT*="U4 RIGHT]" 

1000 FOR 1 = 1 TO 3: FOR J=0 TO 7 : P < I , 
J>=05t'£XTJ{hEXTr 

1 100 PRINT 1 * CCLEftR ] " JDN$/ “ CRVS 3 " * IP< 
1 ,0)=N 

1110 FOR 1 = 1 TO 3 SPRINT"! ARANCI 

iNEXTT 

f 

H£0 FR INTONAI " [DOUN3ERVSJ EB RIGHTJ 
# I C 1 1 RIGHT3#£E1Ì R TGHT 3#3 INER 
0 J” 

1150 PR INTONA; LEFT$C " [7 UFJ",N>J 
1 180 FOR 1 = 1 TO N 

i 

1170 PR INTLEFTSC " ERVOFF I ■ +RT* ,7- I + 1 
> ’ LEFT$< " (RV33L*+BT$< i) ,£*! + !> 

■ * in 

f _J 

U 80 pc kn-i + ì ) = t*£ 

1130 r-Exrr 

1800 MV=0 

1300 TM^T I +60 

1910 IF TI<TM THEN 1910 

1956 GOSUB 8000 

1960 CD=C0+ IMF CO >13 THEN CO= 1 
1370 CO*=CG*CCO> 

6000 FR$“ 11 thCRO 3DA QUALE TORRE ? "i 
GOSUB 5000: 1F THEN 1350 

£010 F=VALCIN*> 

£0£0 IF PCF ,0X1 THEN PRIMI * C VERDE £ 
3 TORRE VUOTA E ROSSO 3 ! ! C NERO 3 11 : 
GOTO 1900 

2050 PR*=" [NERO 3 ALLA TORRE ? "SGOSU 
B 5000: IF I m- ma THEN 1350 
£060 T=VALCIN*> 

£070 IF F “T THEN FRI NT "MOSSA IÈ*FOSS 
IS ILE " :GOTO 1300 
£080 IF FCT,0>=0 THEN £100 
2030 IF P<F>P<F,0) ) >PCT,P(T,0) ) THE 
N PR INT H [VER DEB 3 NON PUOI [NERO 3 
" : GOTO 1900 


£180 FC*P(F,8) SFW S PCF , PC > 5 TC=P <T,8 ? 

t TU=P ( T , TC ) : MV -MV + 1 
£110 X=l+l3*(F~t> +7-FW72 
2160 PR INT DIM$JLEFT$< • E3 UP3 W ,FC+1> 
;LEFT$< " [RVOFF 3 * +RTS+RTS+RT* f K 
>; 

£1£5 LFS=LEFT*< " [DOLt^ll [ 14 LEFT3 " ,FW 
+ 1 ) 

£130 FOR 1=1 TO 8KT*<I)aLEFT*<TF*<I 
) ,1+FW) 5^B*<I >=LEFT*<BT*< I) , 1+F 

uixfext 

£135 HT=0SJ = iUF F >T THEN J = -ì 
£140 FOR I -F TO T STEP J 
£145 IF P C I jr0 ) >HT THEN HT~P<1,8> 
£150 NEXTI 

£155 IF HT=P(T,0> THEN HT*HTM!GOTQ 
£165 

£160 IF ABSCF-T)>1 THEN IF HT=FC£,0 
) THEN HT=HTH 
£165 FOR I =FC TO HT 
2170 :FOR J=1 TO 3 

£175 : SPRINT CO$; T*CJXLF$;BSC 

J);LFS; " E£ UP 3 * ; 

£180 : NEXTJ 

£185 sPR INT" CUP ] m ì 

£130 hCXTI 

£195 PR INT “ [DONNI" J 

££00 L$=L£FT$< É [ 16 LEFT3 ■ , 1 +FW> ; R*^ 
LEFT»(RT* r FU-n 
££01 FRI NT 11 ERVS1 fl ;LEFT$C * 

* ,FbD ; " [RVOFF 3 " ; LEFTSC " [ 
16 LEFT1 " r FW) ; 

££05 IF F>T THEN ££50 
££10 FOR I =F* 13 TO 1*13-1 
££15 iFOR J=1 TO 5 

£££0 FRI NT CO$; LF*< J > ì R$; RT$ C J ) ; L$ 

£££5 NEXTJ 

£££6 PRINT 11 [RIGHI] 

££30 NEXTÌ 

££35 GOTO £303 

££50 FOR I =T* 13 TO F*13-l 


SS - Commodore Computer Club 


GIOCHI 


£255 PRINT" [LEFT3 
2260 ìFOR J =5 TG t STEP -1 
££65 JrPRim’CO*? LF*( J ) ; R*; RT*< 
J >; L*; 

££70 :NEXTJ 
££75 NEXTI 

£300 FOR I =HT- 1 TO TC STEP -l 

£310 • FOR J=8 TO 1 STEP -1 

£320 SPRINT CO*} T*< J > } LFS! B*( J ) 3 L 

f*j ”[£ UP3": 

£330 SNEXTJ 

£340 SPRINT" COOWNJ"; 

£350 NEXTI 

2410 PRINT CO*; LEFT*< * tRVS1L"+BT* 
( U,FW+J >; “j n ; “ [NERO J " ; 

£500 P<T,0>-P<T,0>+1 

£510 P<T,P(T,0> )*P<F,P<F,0) ) 

£520 P<F,0)=P<F,0)-1 
£600 IF P <2 ,0 J < >N AfD P(3,0)ON THE 
N 1900 

2700 GOSUB 8000 

£710 PR ! NT" I VERDE 313 DOUHl . 


2?£0 PRINT" IRVS3IHOI FINITO 

IRVOFF ]| " 

2730 PRINT" 

*»[RVOFF ]■ " 

£740 PRINT" INERO] E DOUMlHfl INPIE6AT0 

[violai °;mv; “ r nero smosse ‘ 

2750 T=£tN-l SPRINT" COOWN3LA SOLUZ IO 
NE PIU’ VELOCE" 

2760 PRINT" CORRI SPONDE A "ìli "MOSSE 

MI 

* 

2770 PRINT" ÉDQUN 36 IOGH I ANCORA? 
GOSUB 86000 

2780 IF LEFT*< IW, I )<> Jl S" THEN END 

2730 RUM 

2800 END 

5000 PR INTPR$; 

5010 GOSUB 60300 * IF I N*=*" THEN RET 
URN 

5015 IF LEFTSCJN*, l > = "G H THEN END 


5016 IF LEN<IN$>>Ì THEN 5030 
5020 1 F JN$>="Ì* AND IN$<="3” THEN 
RETURN 

5030 PRINT 11 MA COSA DICI ????????" 
5040 FOR 1 = 1 TO 500UCXTI 

5050 PRINT" E UFI 

» 

5080 print " i a up] ";pr$;left*< * 

* rLENC IN*3 > 

5070 PRINT" EURI"; : GOTO 5000 
9000 PRINT* [HOME] " ; 

8010 FOR 1 = 1 TO 4 SPRINT" IBI ANCO 3 

* s NEXTI 

3020 PRINT" CHOME 3 "J 

8030 RETURN 

3000 PR I NT " t HOME 3 " 

60000 IN$=" w iZT*Tl i ZC®2 sZD$=CHR$( 20 
) 

80010 GET Z*IIF Z*<>** THEN 60070 
80020 IF ZT( =T I THEN PR ÌNTMID$( '* #" , 
ZC r 1 >i 11 CLEFT3 " J :2C = 3-ZC : ZT=TI + 
15 

60830 GOTO 60010 

60070 Z *ASC CZ*> " ZL=LEN< IN$) S IF <2 AN 
D 127X32 THEN PRINT" t LEFT 1 * ; 

S GOTO 601 10 

! 

60080 IF FL A1C3 <Z ANO 127) >64 AND ( 
Z AND 127X91 THEN 2$=CHR*CCZ + 
I2fi) AND 255 ) 

60090 IF ZL >254 THEN 60010 
60100 IN*=IN*+ZffiPRlNTZSJ20S;Z*; 
60110 IF Z = 1 3 THEN EN*»MID$< 1N$ ,2 ) = P 
RINTCR** s RETURN 

60120 IF 2=20 AI4D ZL>1 THEN IN±=LEFT 
*< I Nt , Z L - 1 ) SPRINT" CLEFT ] " ; :GQT 

0 G0010 

60130 IF Z = H1 THEN Z*=CHR* < “20* <ZL > 

1 ) > s FOR 2 -2 TO ZLKPR1NT2*; iNEX 
T2 s GOTO 60000 

60140 GOTO 60010 


Commodore Computer Oub - 69 


GIOCHI 

VIC 20 

s 

Trifidi 


Nello spazio 
intergalattico, con il 
vostro Vie 20 contro 
gli alieni che vogliono 
distruggere la terra. 


uesto gioco è destinato agli utenti 
del computer Vìe 20 e non necessita 
di alcuna espansione di memoria. 

Degli alieni stanno preparando l'inva- 
sione del pianeta terra, disperdendo ncl- 
Fatmosfera un pericoloso virus che cau- 
serà, immancabilmente, la morte di mol- 
ti esseri umani, 

A bordo della vostra astronave, dovre- 
te cercare di abbattere il maggior nume- 
ro possibile di navi galattiche nemiche. 

Avete a disposizione due differenti ve- 
locità di movimento nell 1 iperspazio: tra- 



mite il tasto SHIFT vi sposterete nello 
Spazio con una velocità ridona mentre il 
tasto CTRL vi permetterà di raggiungere 
una velocità fotonica. 

Per sparare dovete avvalervi del tasto 
situato nella zona destra della consolle, 
immediatamente a sinistra del tasto 
SHIFT, 

Avete a disposizione un tempo limita- 
lo per ultimare la vostra missione nello 
spazio intergalattico, terminato il quale 
vi verrà dato il responso definitivo sul 
vostro operato. 

Buona fortuna. 


70 - Commodore Computer Club 


GIOCHI 


1 POKE 56,24 iPOKE 52,24:CLR :OOS 
UB 3000 iPOKE 36879, SiPRINTCHR* 
(8>iA=30?20sDC6>=29 

2 VS =368771 V I =36373 i POKE VI,15iL 
=0:DC1 )=-l iD<2)=-£9:0(3>=-23iD 
(4 ) = -27 !D <5 ) - 1 

3 D<7 )=23 ! D<3>=2?iW( I ) =64:14(2 > =7 
7 sLK3 ) =33s W<4 ) =78 iU<5 ) *64 i UK6 ) 
=77 sUK7 ) =33 

4 POKE 368G6 ,23 : POKE 36867, 72: PO 
KE 36364 ,7: POKE 368S5 , 13 : POKE 
B43 ,28 : PR INT " [ CLEAR 3 * 

5 POKE 648,30 : PR INT" [CLEAR ] " IFOR 

1=0 TO 5 :P0KE 7674+ I ,32 :PCKE 
7674+A+I , 1 tKEXTs UIC 8 ) =78 

S P=7680iR=l sUl=3£:U=7800:Ri=l :F 
OR 1 = 1 TO 93! POKE ? 168+RND < 1 > * 
1008 ,74 +RND < 1 >*2 

7 NEXT* P 1 =32 l POR 1=1 TO 155POKE 
7 163+RND < 1 >*100S,76sfCXT:TI*=” 
000000 ” 

30 T=PEEKU97):Q=0! 1F T=23 THEN Q 
= - 1 ! POKE VS- 1 ,225 

32 IF T =37 THEN Q* li POKE VS- 1,227 

33 IF T=30 THEN 100 

34 R=R+QiIF R< 1 THEN R=8 

35 POKE VS- 1 ,0 » IF R>3 THEN R=1 

36 POKE P,P1 :P=P+PEEK(653>*D(R) s I 
F P >8 176 THEN P=P-1008 

37 IF P< 7 1S3 THEN P=P+1008 

38 P t =PEEK < P ) s POKE P,65+R!P0KE P + 
A ,7 ! IF P 1 =65+R 1 THEN 200 

40 IF RND<1>>.6 THEN R1=R1+INT(RN 
D< 1 ) *3 ) ~ 1 i POKE VS,£35+RND<1)*1 


8 

42 IF R 1 < 1 THEN Rl=8 

43 IF RI >8 THEN Rl=l 



44 POKE VS ,0!POKE U ,U 1 : U=U+D <R I ) i 
IF U >8 176 THEN U=U-1008 

45 IF LK7168 THEN U=U+1008 

46 U 1 =PEEK <U ) JPOKE U,65+Rl:P0KE U 
+A ,5 ! IF U 1 =65 +R THEN £00 

49 IF TI4< ”000200 8 THEN 30 

50 PR INT" I HOME 3 [BIANCO 1 TEMPO SCAD 
UTC " ; 

51 PR INT" 12 DQUIN3 PUNTEGGIO! "SCsSC 
=0 : POR 1 = 1 TO 3000!NEXT;WAIT 1 
97, 63 s GOTO 2 

100 IF F < >0 THEN 110 
102 Y=D<R) !pl =R+65iF=P 'L=0:K=R!G=P 
EEK <36868 > OR 128 

110 POKE VS-1,G!F=F+Y:F1=PEEK(F)!P 
OKE F,UCK) 

111 IF F<7166 OR F)8176 THEN POKE 
F,F1 iPOKE VS -1,0! GOTO 34 

120 POKE VS-1,0:JF Fl=Ri+65 THEN 1 
32 

121 L=L+1 4 IF L= 12 THEN POKE F,FliF 
=0 : GOTO 34 

122 POKE F ,F1 sOOTO 1 10 

129 POKE U ,42 • FOR 1 = 1 TO 4iF0R J*1 

TO 8 : POKE U+D<J) *1 ,RND< 1 >*2+? 

4 iPOKE VS,220+J*3:NEXTJ,I 

130 FOR 1=1 TO 4 iFOR J=1 TO 81P0KE 

U+D<J)*I,32! POKE Vl,15-U3iNE 
XTJ, I 

131 POKE VS,0 iPOKE VI, 15 iPOKE U,32 
i U=7 163+ INT <RM3 < 1 )*28) iU l=32:F 
=0!R 1 = INT CRND C 1 > *8 + 1 > iRETURN 

132 GOSUB 128iSC=SC+liF0R 1=1 TO 1 
0 iPOKE 7163+RtCK 1 >*1008,RND< 1) 
*2 +74 i NEXT i GOTO 34 

200 GOSUB 129 i PR INT " tHOME 1 [BIANCO] 
COLLISIONE"; sOOTO 51 
9000 FOR 1=0 TO 1023 IPOKE 6144+1, PE 
EK (32768+1 >i NEXT! POKE 36863,25 
4 i FOR 1=0 TO 87 i READ A 
9010 POKE 6672+1 ,As NEXT iRETURN 
9020 DATA 0,7,30,254,30,7,0,0,0,64, 
48,60,31 ,30, 12,4, 16, 16, 16,56,5 
6,124,124,68 

3030 DATA 0,2,12,60,248,120,48,16,0 
,224 ,120,127, 120,224 ,0 ,0 , 16 ,48 
,120,248,60,12 

9040 DATA 2,0,68,124,124,56,56,16,1 
6, 16,8, 12,30,3! ,60,48,64,0,0,0 
, 8 , 0 , 0 , 0 , 0 , 0,0 

3050 DATA 0,0,0,64,0,0,0,0,0,0,6,6, 

0 , 0,0 


Commodore Computer Ciub - 71 



Le stampanti MT/85, a BO colonne, e MT/8ó p a 136 
colonne, rappresentano una nuova frontiera nel 
settore delle stampanti a basso costo. 

Basso costo, ma non bassa qualità e basse 
prestazioni, intatti ecco le credenziali di questi due 
nuovi prodotti. 


Velocità a tSO cps. bidirezionaie ottimizzata, NLG 
a 45 cps., grafiche, possibilità d 8 fonti alternative 
di caratteri e naturalmente lo completa 

compatibilità con il PC IBM. 

Il prezzo: il più competitivo del 
mercato in questa fascia di 
prestazioni. 

Naturalmente anche le MT/85/86 
oltre ai trattori hanno anche 
trascinamento a frizione e 
consentono pertanto il 
trattamento dei foglio singolo. 

_bi 

Tutte . 
le garanzie 

delnl 


- ■" ■ . 

I . . i 




MANNESMANN 

TATJY 


20094 Coreico (MI) - Vici Cadamosto, 3 
Te:. (32) 45Q285Q/655/6Ó0/665/Q7G - Telex 311371 Talìy l 
00137 Pomo ■ Via I De! Lungo, A 2 - Tel (06) 6273456 
10099 San Mauro (IO) - Via Cascia, 306 ■ Tel (011) 6225171 
40050 Morì le veglio (BO) - Vìa E- nife in. 5 - Te' (051) G3250S 


adi/enfls.'n 



The day after 



uesto gioco simula un'ipotetica 
giornata dopo lo scoppio della bomba 
atomica. Per salvare la terra dovete pilo- 
tare la vostra navicella per andare a recu- 
perare delle palline rosa altamente 
radioattive. 

Non è un gioco facile come sembrai 
infatti, le persone ancora in vita (diven- 
tate pazze) cercheranno di distruggere là 
navicella tramite dei cannoncini. Quan- 
do sarete riusciti ad uscire dalFhangar 
occorre dirigersi su uno dei pianeti e riti- 
rare le palline radioattive; fatto questo 
ogni volta occorre uscire dal quadro at- 
tuale e così via per 5 volte per tutti i 
cinque pianeti. Al termine si passerà al 
quadro finale: una caverna rossa dove è 
situata la pallina più grande di tutte e 
naturalmente la più pericolosa. Presa 
quest'uHima, il gioco ricomincia al se- 
condo livello. Ad ogni nuovo quadro, sm 
da quello iniziale, c’è un’astronave che 
temerà di distruggervi venendovi addos- 
so. Per avere una spinta regolare è me- 
glio inserire Fautofire del joystick- (se lo 


possedete); se invece si vuole una spinta 
elevata occorre disinserire Fautofire e 
premere manualmente il bottone del 
joystick. 

Attenzione: dato che le immagini del 
gioco sono tridimensionali occorre pre- 
stare la massima attenzione durante le 
manovre di aggancio delle palline 
radioattive. 

Tasti comando 

Z = sinistra 
X ** destra 

CRSR in basso = turbo reattore 
CRSR destra = gancio trasporto 


Idea 9 

Gì oc ahi! ita e suono 8 

Animazione 7 

Voto 8 


Doodle bug 



uesto gioco rappresenta una fusione 
tra il conosciutissimo e ormai famoso 
“Pac man” e la graziosa coccinella di 
“Lady brighi”. 

Si tratta sicuramente di uno dei miglio- 
ri giochi per il Vie 20 della MasterTronic, 
Un alieno deve girare per un labirinto al 
fine di recuperare dei “volanti" dissemi- 
nati su tutti i vari percorsi. Su alcune 
pareti del labirinto vi sono porte girevoli 
che servono sia per arrivare in un punto 
de! labirinto senza fare un giro enorme 
sia per far cambiare strada all’alieno 
nemico. 

Vi sono infatti anche degli alieni, che 
aumentano di quadro in quadro fino a 
diventare sei, e che tentano di eliminare 
il giocatore, finché questo non elimina 
loro, 

II tuo omino generalmente é colore blu 
e alTinizio della partita si trova in mezzo 
al quadro. Tenendo premuto il bottone 
fi re del joystick. Foni ino sgancia una mi- 
na per distruggere il nemico che, però, 
ricomparirà subito in un punto casuale 
del quadro. 

Voi avrete a disposizione 5 alieni e 5 
aerei, 

1 più abili possono scegliere il numero 
degli alieni nemici, (mass, 5) e i quadri di 
gioco (mass. 6), 


Idea 8 

Giocabilità e suono 9 ■ 

Animazione 8 

Voto 8 


Commodore Computer Club - 73 



Nei giochi di 
adventure le capacità 
mentali contano dì 
più dell’abilità a 
manovrare il 
joystick; metti alla 
prova la tua fantasia 
e la tua perseveranza , 
uniche qualità che ti 
permetteranno di 
arrivare alla fine del 
; gioco . 


Negli ultimi anni il mercato ha offerto 
un nuovo gioco (si fa per dire) al pubbli- 
co: Tadventure. Il gioco non t di conce- 
zinne nuova; la novità sta nella lingua 
usata: finalmente compaiono gli adven- 
iures in italiano, un gioco quindi alla 
portata di tutti. 

Per gli appassionati degli “arcarìes” 
sarà un dramma, ma di certo alla lunga 
fornirà un divertimanto maggiore dovu- 
to al co involgimento del giocatore e non 
solo alia sua prontezza di riflessi. 

Che cosa è un adventure? Vediamone 
una sintesi: 

L’uomo, con in mano un idolo d'oro e 
delle pietre preziose, balza su una piroga 
nel tentativo dì sfuggire agli indigeni che 
Io inseguito. La corrente lo trasporta 
verso valle, gli inseguitori però, si avvici- 
nano sempre più. Subito si rende conto 
di non avere alcun mezzo di propulsio- 
ne; prova con le mani: urta frotta di pesci 
piranha gli si avvicina; disperato si gira e 
spara sugli inseguitori, ma questi, in 
gran numero, gli sono ormai addosso e 
lo spingono nel fiume. ,* 

Immediatamente sul video appare 
una didascalia...: M Sei mono, Vuoi gio- 
care ancora (S/N)?’\ 


Il segnale del computer è come un 
risveglio, ràwentura non è finita, l'uo- 
mo nella sua fuga precipitosa si è distrat- 
to: dimenticando le pagaie ha messo la 
parola fine alla vicenda. Quella che do- 
veva concludersi con allori e ricchezze si 
è trasformata in morte prematura, che 
costringe a ricominciare {dando libero 
sfogo alla fantasia) la ricerca di un ogget- 
to, di un sìmbolo per cui valga la pena dì 
tentare. 

Si riprende il gioco, questa volta senza 
dimenticare niente, prestando la massi- 
ma attenzione a tutto quello che si in- 
contra sulla strada, fossero anche sem- 
plici parole. 

Questo gioco a differenza dei classici 
'Vìdeo-games*’, non richiede riflessi 
pronti e colpo d'occhio, ma notevole 
concentrazione fino ad immedesimarsi 
completamente nel personaggio; impor- 
tante è capire come il suo ideatore ha 
sviluppato la storia, entrare nella mente, 
nel modo di pensare delFautore per ca- 
pire quello che gli frullava nella testa nel 
momento in cui scriveva la trama. 

L’essenza del gioco sta neU'intricato 
sistema di trappole, oggetti (nascosti e 



avventura ! 


non), enigmi e quesiti da risolvere, per- 
correndo strade con personaggi amici e 
nemici, raccogliendo oggetti che servi- 
ranno a superare un ostacolo tra i monti 
o la foresta o semplicemente a recupera- 
re la chiave che apre la porta di casa. 

Disegni, suoni e rumori, possono tare 
da cornice alla vicenda, lasciando però il 
più possibile libera la fantasia del gioca- 
tore nel crearsi le scene dove hanno luo- 
go le varie azioni, il meglio è rappresen- 
tato dal niente: niente grafica, musica o 
rumori (opinione dello scrivente). 

Un consiglio utile per chi volesse ci- 
mentarci in un ad ve mure è di armarsi di 
penna e carta, prendendo nota di tutto 
quello che ci sembra (ed anche Quello 
che non ci sembra) importante. Ogni 
spostamento, ogni ostacolo, ogni frase 
(magari sibillina) è meglio annotarla, 
potrà tornarci utile in un altro posto e 
fornirci la soluzione od una traccia che ci 
metta sulla strada giusta In definitiva è 
necessario trasformarsi in detective e un 
buon investigatore non può fidarsi solo 
della memoria, specialmente se il viag- 
gio è lungo* complesso e ha molti dati da 
ricordare. 


La tecnica delle annotazioni è sogget- 
tiva. Un'altro sistema potrebbe essere 
quello di segnare una casella per ogni 
spostamento nella direzione in cui & av- 
venuto, raccordando con una freccia e 
marcando ogni casella con un numero 
sotto cui scrivere tutto quello che ci inte- 
ressa: può servirci a ricordare che in quel 
posto t meglio non andare o che si è 
lasciato un oggetto che potrà servirci in 
seguito. 

I comandi vengono dati al computer 
con una o due parole, ìn certi casi con la 
sola iniziale. Possono essere dati in pri- 
ma persona o rivolti ad un compagno di 
viaggio (a mio avviso la seconda scelta 
offre maggiori probabilità al giocatore di 
immedesimarsi nella parte). 

Normalmente i comandi dati con la 
sola iniziale sono quelli di spostamento 
(Sud, Est, Nord e Ovest), Inventario 
(elenca il materiale recuperato durante 
il gioco). Aiuto (può essere fornito in 
aiuto per la sessione in corso), Fine (vie- 
ne usata per indicare la fine del gioco ed 
offre la possibilità dì registrare i dati e la 
posizione raggiunta- al termine della re- 
gistrazione si può riprendere il gioco). 


Altri ordini vengono dati con due pa- 
role (salvo richieste specifiche); la prima 
è un verbo (prendi, vuota, colpisci 
ece..,), la seconda ìndica un oggetto (pi- 
stola, corda, coltello ecc...). A questo 
punto Felaboratore passa al setaccio tut- 
te le possibilità offerte dal programma, 
dando una risposta generica tipo “non 
capisco ', o una affermativa dì esecuzio- 
ne del comando. 

Avremo quindi degli ordini tipo 
“prendi pistola 1 ', Egeria diamanti 11 , “to- 
gli tuta 11 (spaziale), etc. 

Ora bando alle chiacchere, comincia- 
mo a giocare ; le difficoltà sono molte ma 
anche le soddisfazioni saranno pari, 
quindi augùri e buon divertimento. 

Nel numero 7 della rivista su cassetta 
Commodore Club, comparirà l'adven- 
tures SOLAR A che riunisce al suo inter- 
no tutti i temi trattati in questo articolo. 

La potrete reperire in edicola contem- 
poraneamente a questo numero di Com- 
modore Computer Club, 

Paola Magri n 




Non lasciarti sfuggire 

il prossimo 


Perchè anche sotto l’ombrellone 
potrai rinfrescarti le idee sul Data Base. 
Troverai: 

• La Teoria 

• Banca Dati. Anteprima da Commodore Club, 
il nostro data-base per te 

• The Manager e SuperBase 

• Tutto archivio, un programma tutto Basic 



IL PORTA COMPUTER 
CHE FA SPAZIO 



Mobile di mecf, dens., 
laccato bianco, che ti per- 
mette di raggruppare tutti i 
componenti del tuo computer 
in uno spazio di cm. 64x45, eli- 
minando al tempo stesso tutti i fili 
esterni. 

I lettori che invieranno il coupon qui a 
destra, compilato in ogni sua parte, 





riceveranno il K16 a sole 
L, 88.000; oppure il set completo 
(esclusa la sedia) a L. 175.000; oppure solo 
la scrivania a L. 95.000, Spedizione postale ^ 
e IVA comprese nel prezzo. 




di Amorusi G. Battista 

Via Montalbano, 25L ■ Loc. Marcatale 
Tel. (0571) 501563 - 50059 VINCI (Fi) - Italy 


, 1 ' 


Q 


# 




& 








0 

* X* 








v ^ 




0 









SCAMBIATEVI LE LISTE 

o 




Giovanni Breda * Via G. Mameli 19 - 3"? 100 
Verona -Td. 045/46491 


Alberto Frabetti * Via Ricciarelli 139 -44100 
Ferrara - Tel. 0532/61034 

Stefano Barcarola - Via Biiozz] 8 05021 Ac- 
quasparta fTr) - Td. 0744/930387 

Dario Pausili * Via Pascoli 24 - 34 129 Trieste - 
Tel. 040/773766 

Bruno Gandolfì - Via P, Calamandrei 1 - 
14049 Nizza Monf. (Ari -0141/727216 

Fabio Zerbini - Via Sacconi 5 - 20139 Milano - 
Tel. 02/538757 

Stefano Ferrari - C\so Grosseto 259 10147 

Torino -Td. 011/296882 

Franco Ripamonti - Casella Postate 26 - 22061 
Barzago (Co) 

Giuseppe Borracci * Via Mameli 15 - 33100 
Udine - Tel. 0432/291665 

Francesco lozia - Via dello Stadio 4 - 97014 
Ispira ( Rg) 

Ignazio Mannone - C.da Dammusello 504 - 
91025 Marsala (Tp) - Tel. 0923/967922 

Antonio Tassane * Via Montecuccoli 17 - 
(XI 176 Roma - Tel. 06/7560394 


Salvatore Scigljcv - Via Pirandello 33 - 98039 
Taormina (Me) - Td 0942/23797 


Pietro Masi - Scalo S, Lorenzo 47 - 00185 
Roma - Tei. 06/4955167 

Nicola Gianno - Via Marsala 351 - 91020 Rilie 
vo-Td. 0923/864559 

Vincenzo D’Alessandro - Via Sperone 7 - 

90123 Palermo - Td. 091/475988 

Maurizio Guidato - Via Pu tignano 26 - 56014 
Pisa - Tel. 050/982281 

Alessandro Àrmenuti - Via Cardinale Mimmi 
24 -70 124 Bari -TeL 510980 

Marco Schito - Via Lucca 36 - 20152 Milano - 
Td. 02/4591526 

Club 64 Monta gnau a Software - Casella Po- 
stale ó -35044 Mnntagnana -Tel. 0429/82469 

Nicola Esposito - Via MArchesa 43 - 80041 
Boscoreale (Ma) - Td. 081/8591253 

Gian Marta Agretti - Via Del Gemo 4/5 - 
40135 Bologna - Tel. 051/414630 

Lorenzo Daniele * Viale Faenza 26/4 - 20142 
Milano -Tel. 02/816426 

Nicola De Francesco - Vienici Sguizzante 11 - 
25 121 Brescia - Tel. 030/55480 


Maurrio Dal oso * Via R and accio 1 - 36100 
Vicenza - Tei 0444/56236 

Albana FiìUd - Via B, Miriam 61 - 63035 
Oftida (ap) - Tel 0736/80144 

Dario Gamba * Via Guido Reni 96/12 10136 
Torino -Tei. 011/3090175 

Emanuele Ranieri - Via S. Anna 3 - 05019 
Orvieto - Tel. 0763/90475 

Marco Pendino - Via Ugo Betti 25 - 20100 
Milano - Tel 02/3087 174 

Martin Bruni - Via Ricrodi 1 1 - 20131 MUano 
Tel 02/203973 

Achille Lamina - Via Opicina 3 - 48100 Baveri 
na - Tel 0544/420782 

Francesco D ’ Andrà - Via G. Mima 33 ■ 74100 
Taranto - Tel. 099/314517 

Claudio Giovanellì - Via Ripamonti - 20141 
Milano - Tel. 02/536926 

Omar Ricci * Via F. SoLrnano 33 - 16030 Sori 
(Gè) - Tel 0133/7011 16 

Germano Sessa - Via Roma 352 - 84092 BelLzzi 

(Sa) 

Giuseppe Romano - Via Nazionale 12 - 98065 
Montavano Elicona (Me) - Td. 0941/679040 

Massimo Bovi - Via G. Galilei 5 - 33170 Por- 
denonc- Td. 0434/42586 

Roberto Maniconi - Via B. Buozzi 4 - 00049 
Vcltetri Tel. 06/9636898 

Francesco & Paolo - P O. Box 85 - 25010 
Rivoltella D/C (Bs) Tel 030/9142101/ 
9141303 

Ugo Mirorn - Via Pesto Avieno 218 - 00136 
Roma - Tel. 06/3491667 

Lorenzo Gfavennl - Via laltuada 26 - 20135 
Milano - Tel, 02/5460905 


Kaffadla Libbi - Via Firenze 17 - 64021 Giu- 
li anova - Td. 085/8(1)1548 

Massimo Proia - Via Pubblico Passeggio 16 
29100 Piacenza - Tel. 0523/32417 

Giuseppe Moreschi - Via Paterno" 1 - 20143 
Milano -Td. 02/8134094 

Nicola Mttòtroiacova - Via 19 De Denominare 
54 - 64029 Silvi MArina (Te) -Tel. 085/932437 

Francesco Pticci - Vìa Pcrrìs 14 - 84012 Augii 
(Sa) - Tel. 081/949312 

Cosimo Tarttillo - Vìa Rizzo 15 - 90010 Aspra 
(Pa) - Td. 091/930314 


Dino Mar occhi - Via Marconi 302 - 65100 
Pescara -Tel. 085/68352 

Danilo Curia ri - Via del Lavoro 25 - 40L27 
Bologna - Td. Q5HE5765 

Silvano Bompieri - Via Baccagliarli 8 - 46040 
Moiizambano (Mn) - Td. 0376/845372 

Raphael Eredità - Fermo Posta Milano fiori - 
20089 Milano - Tel 02/8257958 

# 

Gianni Mazzesi * Via Cella 329 - 48020 S. 
Stefano (Ra) - Tel, 0544/573529 

Enrico Ànti nord - C so Europa 26 - 80127 
Napoli -Tel. 081/643119 


Corri modorù Computer Cfub -77 



BASIC 



VERT 05 


78 - Commodore Computer Club 


U„ 


XJ n 'elevata percentuale dei nostri let- 
tori è alle prime armi nel mondo dell’in- 
formatica e incontra difficoltà nel digita- 
re i programmi da noi pubblicati. 

i caratteri “speciali'’ bianchi su fondo 
nero (semi-grafici in “reverse’") che rap- 
presentano precisi comandi per i compu- 
ter Commodore sono riportati nel listato 
di esempio a sinistra così come appaiono 
digitandoli su video o su stampante, 
mentre a destra come li rappresentiamo 
nei nostri listati. 

La riga 360, ad esempio, deve cosi es- 
ser interpretata: 

dopo aver battuto il carattere di virgolet- 
te (“) che si ottiene premendo il tasto 
SHIFT insieme con il tasto 2, è necessa- 
rio battere il carattere CRSR DOWN (il 


tasto, cioè, che normalmente spostereb- 
be il cursore nella cella video 
sottostante). 

Analogamente, nella riga ISO del lista- 
to “tradotto" (di destra), il termine [NE- 
RO] sta i\ significare che bisogna utilizza- 
re il carattere speciale del colore nero 
(tasto C I RI., insieme con il tasto 1, vedi 
listato di sinistra). 


Per ricordare in che modo vengono 
normalmente visualizzati i caratteri spe- 
ciali, nel la seconda parte delle righe di 
sinistra (dopo i REM) sono riportati i 
tasti che è necessario premere per otte- 
nere il carattere-comando “speciale” 


La Redazione 










BASIC 


100 REM I CARATTERI SPECIALI 

110 REM DEI COMPUTER COMMODORE ! 

IE0 REM COME APPAIONO NORMALMENTE 
130 REM SU VIDEO O SU CARTA, ' 

140 REM <CTRL = TASTO CONTROL > 

150 REM CCMDR = TASTO COMMODORE) I 

160 REM C CRSP “ TASTI CURSORE) L 

1 70 ? | 

!E0 PR INT"!" * REM CTRL + 1 NERO i 

190 PRINT"^":RPM * +2 BIANCO 1 

200 PRINT'II" 5REM * +3 ROSSO 

310 PR I NT " ^ " i REM 41 +4 AZZURRO 

330 PR I NT ■ 3|" : REM * +3 PORPORA j 

330 PR INTUII" : REM " +6 VERDE I 

340 PR INT*3* ! REM * +7 BLU ] 

250 PR INTUBI* ^REM " +8 GIALLO 1 

260 PR INT“ ! REM rt +3 RE VERSE ON I 

270 PR INT"H" ! REM " +0 REVERSE OFF | 

2S0 PRINT"C"SREM CMDR+i ARANCIO t 

330 PRINT - ** :REM " +3 MARROU ! 

300 PR INT"®* s REM " +3 ROSSO CHIARO ! 

310 PR INT H (S" SREM " +4 GRIGIO 1 J 

320 PR INT - £3" 1 REM " +5 GRIGIO £ 

330 PR !NT**W" ! REM “ +6 VERDE CHIARO 

340 PP INT’U" = REM " +7 BLU CHIARO I 

350 PR TNT "H 4 * ’ REM " +8 GRIGIO 3 1 

3CB PR IN7"M M * REM CR£R IN BASSO 1 

3^0 PR 1 NT 11 H" I REM CRSR* A DESTRA 
300 PP TNT "ET :REM CRSR IN ALTO 1 

390 PP I NT " H" ? REM CRSR SINISTRA * 

400 W R I NT* 3" 5 REM HOME [ 

410 PRINT* J* sREM CANCELLA SCHERMO , 

480 t | 

430 REM ESEMPI 01 VISUALIZZAZIONE* | 

44 0 PR lNT^ JK^tr :REM CANCELLA SCHERMO, ( 
450 T REM CRSR DUN OUE VOLTE ! 

4E0 : REM CRSR DESTRA TRE " j 

470 i I 

480 PRINT^^MI" : REM BIANCO, CRSR SINISTRA , 
490 : : REM DUE VOLTE E CRSR D L*W | 

500 ? : REM UNA SOLA VOLTA i 


100 REM 1 CARATTERI 
110 REM SPECI AL II COME 
130 REM VENGONO INDICATI 
138 REM SULLE RIVISTE? 
140 REM COMMODORE 
! 50 REM E COMMODORE 
ISO REM COMPUTER CLUB. 

1 70 s 

130 PRINT" [NERO J M 
130 PRINT" [BIANCO] 

800 PRINT" CROSSO 1 " 

810 PRINT" tAZZUR] w 
820 PRINT" t VIOLA 1 h 
230 PR I NT ” C VERDE 1 " 

240 PRINT" CBLELH k 
250 PR INT" CG I ALLO 1 " 

2S0 PR T NT " [ RVS 1 " 

270 PRINT" CRVOFF 3 " 

290 PR I NT “ C ARANO 3 " 

230 PRINT" CMAPR1 " 

300 PR INT" [ROSA] “ 

310 PR INT" [GRIGIOI ] " 

320 PRINT" CGRIGIOS 1 " 

330 PRINT" tVERQESl " 

340 PR t MT‘l CELESTE 3“ 

350 PRINT" CGRIG 1031" 

.360 PRINT" LOOWNI " 

370 PRINT" [R IGHT1 “ 

300 PR T NT* I UP 3 M 
330 PRINT" CLEFT1 H 
400 PR INT" [HOME] " 

4 10 PRINT 11 tCLEARl* 

420 ! 

430 REM ESEMPI 
440 PRINT" ICLEAR 1 E2 00UN3 
t 4 R ! GHT ] " 

450 ? 

460 ; 

470 * 

4S0 PRINT* [BIANCO H£ LEFT 
1 [DONNI * 


Commodore Computer Club 79 


BASIC 


RISPOSTA 

al quiz pubblicato alle pagine 32-33-34 


1 - Per U computer, VIVA LA PAPPA 
rappresenta il nome di una variabile nu- 
merica che può essere abbreviata con VL 
La risposta è pertanto: 0 (supponendo 
che il computer sia stato appena acceso o 
resettato), 

2 * La risposta esatta è OUT OF MEMO- 
RY ERROR, Una submarine non può 
“chiamare' 1 se stessa. Se si tenta di fare 
ciò è come se si tentasse di superare il 
massimo numero di “nidificazioni” 
(= chi amata di una submarine all 1 interno 
di un’altra subroutine) di subroutine 
possibile che è 3$ 

3- 11 cursore viene posizionato nella pri- 
ma cella video in alto a sinistra, 1 1 coman- 
do, infatti, è in fin dei conti un banale: 
PRINT CHR$(19). 

4- 11 programma continua eseguendo, se 
c + è, P istruzione successiva al comando 
END. In caso contrario compare nuova- 
mente READY. 

5 - Risposta C 

6 - Risposta C 

7 - LET è ristruzione che assegna un 
valore ad una variabile e che fa parte del 
linguaggio arcaico Basic. Nonostante sia 
obsoleta, è ancora presente in tutti i lin- 
guaggi Basic, E' quindi un'istruzione su- 
perflua dato che è possibile ottenere, ad 
esempio, lo stesso effetto sia con: 

LET A =989 sia con; A =989, 


8 - Sono egualmente valide le risposte 
“C”e“D” 

9 - La risposta esatta è la “C”. À Livello 
elettronico, infatti, il tentativo di scrive- 
re un dato in una memoria ROM è sem- 
plicemente privo dì risultati e non dan- 
neggia in alcun modo i circuiti integrati 
interessati a 11 1 operazione. 

10 - Per Operazione sì intende la singola 
operazione elettronico - logica (= ciclo 
macchina) che viene eseguita dal micro- 
processore ad ogni impulso proveniente 
dalPoscillatore al quarzo. 

Un'istruzione in linguaggio macchina 
può richiedere anche 5 cicli macchina ed 
un'istruzione Basic, a sua volta, può ri- 
chiedere l'esecuzione di centinaia di 
istruzioni in L.M. 

Ecco perchè, nonostante l’apparente 
alta velocità (misurata in milioni di ope- 
razioni al secondo) alcune operazioni ef- 
fettuate con programmi Basic risultano 
piuttosto lente. 

Commodore 64 

1 - Risposta “C"- 

2 - Risposta “C\ E’ possibile allocare 
sprite oltre ['indirizzo 16348 ma è neces- 
sario spostare la memoria video ricorren- 
do all'alterazione di alcuni puntatori. 
Tale tecnica, come si può immaginare, è 
utilizzata solo da esperti programmatori, 

3 - SYS 64738 


4 - L'Executive non prevede l'uso del 
registratore a cassette e non è possibile, 
quindi, caricare programmi da nastro. 

5 - Esiste effettivamente un programma 
su nastro che “trasforma” il Commodore 
64 in Sinclair Spectium senza alcuna mo- 
difica elettrica, E T possibile utilizzarlo sia 
per programmi Basic che per programmi 
L.M. protetti oppure no. 

L’unico inconveniente che si verifica è 
costituito dalla maggior lentezza di ese- 
cuzione del programmi stessi dato che è 
necessario interpretare il codice 7-80 ed 
adattarlo al codice 6510, 

Non esìste invece, almeno per quanto 
ci risulta, un programma che trasformi lo 
Spectrum in un Commodore 64, 

Commodore 16 

j 

1- Da 3072 

2 - Risposta “A” 

3 - Drive per minifloppy, 

4 - GRAPHIC 

5 - Rintracciare gli errori di programma- 
zione. Può comunque essere definito a 
piacere dall'utente ricorrendo al cortiado 
KEY, 

Vie 20 

1 - Non è possibile generare sprite col Vie 

20 . 

2 - Risposta' 1 ©” 

3 - SYS 64802, Con Rim/stop e Restore si 
ottiene il ripristino di alcuni puntatori, 
deirinterrupt, del suono, del colore ecc. 
ma non dell’intero sistema, 

4 - Risposta "D’\ Le prime tre operazio- 
ni sono invece perfettamente lecite, 

5 - 199000 italianissime lire. 

Alessandro de Sianone 


80 - Commodore Computer Club 




INVIARE TUTTA LA PAGINA ANCHE SE SI UTILIZZA UNA SOLA SCHEDA 



I 


H * • • , ’ • , u 

Registrate il mio abbonamento annuiate a Commodore Computer Club, 
i J Ho versato oggi stesso il canone dii. 28,000 a mezzo c/c postale n° 3 7952207 intestato 

a: 

Systems Editoriale - V le Famagosta, 75 - 201 42 Milano 

□ Ho inviato oggi stesso assegno bancario n 

per l'importo dì L 28,000 intestato a Systems Editoriale 
Si prega di scrivere li proprio nome e ['indirizzo completo in modo chiaro e leggibile, inviare 
la fotocopia del bollettino di c/c postale. 




Considerando che i numeri 1 , 2 e 7 sono esauriti, vog Siate inviarmi i numeri arretrati 
al prezzo di L. 5*000 cadauno per richieste fino a 4 numeri, o di L 4 000 cadauno per 

richieste oltre 1 4 numeri arretrati, e perciò per un totale di L Sono a conoscenza che 

i fase ioli suddetti non saranno inviati in contrassegno e, pertanto, ho provveduto oggi stesso 

a versare il canone di L.*, a mezzo c/c postale n. 37952207 intestato a: 

Systems Editoriale - V.le Famagosta, 75 - 20142 Milano 


STATISTICA 

Non posseggo un computer □ 

Posseggo un C64 

Posseggo un VIC 20 ............. .... 

Posseggo un Commodore Plus 14 
Posseggo un Commodore Plus 16 
Posseggo un registratore dedicato 

Posseggo un drive 1 541 

Posseggo una stampante 
Posseggo un monitor 


+ + + ■!■»■ Bill 




sin ... 

no □ 


sin 

no □ 


si □ ... 

no n 


sia ... 

no n 


Si □ ... 

no □ 


si □ ... 

no G 


sin ... 

no □ 


sin ... 

no □ 





« 

a 


J COLLABORAZIONE 

a 

A titolo di prova vi invio un articolo e la cassetta. ...disco , 

col programma che intendo proporre per la pubblicazione di cui garantisco l'originalità. 


m DO M AN DÀ/R ! SPOSI A 


11 


- IHr4rTr 


■ - - - »- tt B H ■ > 


r* i ■ ■ s ■* j 


tini m m ■ ■ lij 




■ I U1J - S.4Ai.WJJ WLJ4WBJJI.JJ W b 4 4 iij - - - « JH + -H fr 4 > 4- P 1 , | J-|- - 4 b B 4 J PP J - - i - r - ■ 





+ r - i p i r i 



CERCO/OFFRO CONSULENZA 


r ■ I li 1 i r r ■ ■■ i i 


■ ■■ij’iiiiiiiii i i ii i ■ ■ ■ li niajj-r 


■«.■«■■■■a* » H M '** M + « »t • M !+• Mtt »■•-■* t - 9 -I -i* 9 4 Mi I f • i I rk« fi mi r ■ i i ini nM ir 


‘ i i **1 Mi > M4rik4‘M*r4ikr1tcii11'ii#kii'k*min mini 


■ vi mi ■■■ i ■■■>■-■■■ mi tu ■ rim-i^irnimmif mi •!■■)■■■ » i « i i ■ « 1 ■ i i ■ 'M I M > M MH '«HH 


j ■ . k f * j l. ■ . • i MM > • M ^ ‘■MI-MSr-* li . 4 4 . | i +T* 4 - t I p 4 4 rn r r r 


9 J J* ni k 



■ ■ ■ UlBIU.IIIIf f II pii 


INVIARE IN BUSTA 
CHIUSA E AFFRANCANDO 
SECONDO LE TARIFFE VIGENTI A: 

COMMODORE COMPUTER CLUB 

V.le Famagosta, 75 
20142 Milano 




INVIARE TUTTA LA PAGINA ANCHE SE SI UTILIZZA UNA SOLA SCHEDA 




0 




Due grandi software 

per il tuo 64 













1 


VR insegna, aggiorna 
ti fa toccare con mano 
tutte le novità 


*** afe. ^ n ntTTr 1 








AF 


i 


iiV 


Co, 

C ° n n Con, **«w w « 


stwr 



geùffliwté 


OGNI 


IN EDICOLA 


■SOjV Y 


»*«- • V'i 


»--. L., 




!_y